Яке найкраще місце для встановлення культури / культури інтерфейсу в додатку ASP.net MVC
На даний момент я маю клас CultureController, який виглядає так:
public class CultureController : Controller
{
public ActionResult SetSpanishCulture()
{
HttpContext.Session["culture"] = "es-ES";
return RedirectToAction("Index", "Home");
}
public ActionResult SetFrenchCulture()
{
HttpContext.Session["culture"] = "fr-FR";
return RedirectToAction("Index", "Home");
}
}
і гіперпосилання для кожної мови на домашній сторінці із таким посиланням:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
що працює нормально, але я думаю, що є більш відповідний спосіб зробити це.
Я читаю Культуру, використовуючи наступний ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx . Я трохи нуб MVC, тому не впевнений, що встановлюю це у правильному місці. Я не хочу робити це на рівні web.config, це повинно базуватися на виборі користувача. Я також не хочу перевіряти їх http-заголовки, щоб отримати культуру з налаштувань браузера.
Редагувати:
Щоб зрозуміти - я не намагаюся вирішити, використовувати сеанс чи ні. Я задоволений цим шматочком. Я намагаюся з’ясувати, чи найкраще це робити в контролері культури, який має метод дії для кожної культури, який потрібно встановити, чи є краще місце в конвеєрі MVC для цього?