Đâu là nơi tốt nhất để đặt Văn hóa giao diện người dùng / Văn hóa trong ứng dụng ASP.net MVC
Hiện tại tôi có một lớp CultureController trông giống như sau:
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");
}
}
và một siêu liên kết cho từng ngôn ngữ trên trang chủ với một liên kết như sau:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
hoạt động tốt nhưng tôi đang nghĩ có một cách thích hợp hơn để làm điều này.
Tôi đang đọc Văn hóa bằng cách sử dụng ActionFilter sau đây http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx . Tôi là một noob MVC nên không tự tin rằng tôi đang đặt điều này ở đúng vị trí. Tôi không muốn làm điều đó ở cấp độ web.config, nó phải dựa trên sự lựa chọn của người dùng. Tôi cũng không muốn kiểm tra tiêu đề http của họ để lấy văn hóa từ cài đặt trình duyệt của họ.
Biên tập:
Chỉ cần nói rõ - tôi không cố gắng quyết định có sử dụng phiên hay không. Tôi hài lòng với chút đó. Điều tôi đang cố gắng tìm ra là nếu tốt nhất nên thực hiện việc này trong bộ điều khiển Văn hóa có phương pháp hành động cho từng Văn hóa được thiết lập hoặc có nơi nào tốt hơn trong đường dẫn MVC để thực hiện việc này?