ASP.net MVC uygulamasında Kültür / Kullanıcı Arabirimi Kültürünü ayarlamak için en iyi yer neresidir?
Şu anda aşağıdaki gibi görünen bir CultureController sınıfım var:
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");
}
}
ve ana sayfadaki her dil için aşağıdaki gibi bir bağlantı içeren bir köprü:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
iyi çalışıyor ama bunu yapmanın daha uygun bir yolu olduğunu düşünüyorum.
Kültürü aşağıdaki ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx kullanarak okuyorum . Ben biraz MVC noob'um, bu yüzden bunu doğru yere koyduğuma emin değilim. Bunu web.config seviyesinde yapmak istemiyorum, kullanıcının seçimine dayalı olmalı. Ayrıca, tarayıcı ayarlarından kültürü almak için http başlıklarını kontrol etmek istemiyorum.
Düzenle:
Sadece açık olmak gerekirse - seansı kullanıp kullanmamaya karar vermeye çalışmıyorum. Ben bundan biraz memnunum. Anlamaya çalıştığım şey, bunu her Kültür için ayarlanacak bir eylem yöntemine sahip bir Kültür denetleyicisinde yapmak en iyisi mi yoksa MVC işlem hattında bunu yapmak için daha iyi bir yer mi var?