ASP.net MVC 앱에서 Culture / UI Culture를 설정하는 가장 좋은 장소는 무엇입니까?
현재 다음과 같은 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 헤더를 확인하고 싶지 않습니다.
편집하다:
명확하게 말하면 세션 사용 여부를 결정하려는 것이 아닙니다. 나는 그 비트에 만족합니다. 내가 해결하려는 것은 각 Culture에 대한 작업 방법이 설정되어있는 Culture 컨트롤러에서이 작업을 수행하는 것이 가장 좋은지 아니면 MVC 파이프 라인에 더 나은 위치가 있는지 여부입니다.