2012-02-22 15 views
6

Tôi đang sử dụng MVC3 và có một số logic để thay đổi văn hóa mà tất cả đều hoạt động tốt. Vấn đề của tôi, là có vẻ như một vài nơi mà sự thay đổi này nên được thực hiện, và tôi không chắc chắn nơi nào sẽ là nơi tốt nhất để làm điều đó.MVC3 đúng cách để thay đổi văn hóa cho mọi yêu cầu

Một số ví dụ thể hiện sự ghi đè trên mỗi hành động, từ bên trong một bộ điều khiển như thế này:

protected override void OnActionExecuted(ActionExecutedContext filterContext) 
{ 
    // code to change culture 
} 

Trong khi đó một cách truyền thống nữa mà tôi đang sử dụng để thấy nữa đó là làm việc đó trong file Global.asax như sau:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    // code to change culture 
} 

Nơi được khuyến nghị để làm điều này là gì?

Trả lời

6

global.asax là cách chính xác của ASP.NET để thực hiện việc này. Nó hoạt động trên các khuôn khổ (biểu mẫu web, dữ liệu động, mvc).

+0

Có một cách thích hợp để ngăn chặn mã văn hóa được gọi cho các yêu cầu để những thứ như hình ảnh, file CSS, JavaScript vv – eyeballpaul

+0

này trong web.config: linkerro

4

Application_BeginRequest là tốt. Nếu bạn đặt văn bản trên luồng đó, toàn bộ Yêu cầu HTTP sẽ được thực hiện trong văn hóa đó.

Thread.CurrentThread.CurrentCulture = new CultureInfo(myCulture); 
Các vấn đề liên quan