Asp.net mvc 4 HomeController继承自BaseController,但没有';t在BaseController中运行函数
我创建了干净的APS.NETMVC4项目,并尝试使用教程实现国际化 我在使用baseController时遇到问题,因为当我运行项目时,baseController中的函数并没有执行。也许我忘了做点什么 基站控制器Asp.net mvc 4 HomeController继承自BaseController,但没有';t在BaseController中运行函数,asp.net-mvc-4,internationalization,Asp.net Mvc 4,Internationalization,我创建了干净的APS.NETMVC4项目,并尝试使用教程实现国际化 我在使用baseController时遇到问题,因为当我运行项目时,baseController中的函数并没有执行。也许我忘了做点什么 基站控制器 public class BaseController : Controller { protected override void ExecuteCore() { string cultureName = null;
public class BaseController : Controller
{
protected override void ExecuteCore()
{
string cultureName = null;
//Attempt to read the culture cookie from Request
HttpCookie cultureCookie = Request.Cookies["_culture"];
if (cultureCookie != null)
cultureName = cultureCookie.Value;
else
cultureName = Request.UserLanguages[0]; //obtain it from HTTP
//Validation culture name
cultureName = CultureHelper.GetImplementedCulture(cultureName); // This is safe
//Modify current thread's cultures
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
base.ExecuteCore();
}
}
public class HomeController : BaseController
{
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
}
家庭控制器
public class BaseController : Controller
{
protected override void ExecuteCore()
{
string cultureName = null;
//Attempt to read the culture cookie from Request
HttpCookie cultureCookie = Request.Cookies["_culture"];
if (cultureCookie != null)
cultureName = cultureCookie.Value;
else
cultureName = Request.UserLanguages[0]; //obtain it from HTTP
//Validation culture name
cultureName = CultureHelper.GetImplementedCulture(cultureName); // This is safe
//Modify current thread's cultures
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
base.ExecuteCore();
}
}
public class HomeController : BaseController
{
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
}
您可能希望替代
Initialize
方法ExecuteCore
以下是一个解释和解决方案: