为未执行的新用户设置语言 cookie 的基本控制器
base controller for setting language cookie for new users not excuted
我使用此代码进行全球化并为新用户设置语言 cookie,这是基础 class BaseController
。但它根本没有执行。请帮我。
using System;
using System.Web.Mvc;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Threading;
using System.Globalization;
namespace App1.Models
{
public class BaseController : Controller
{
private const string LanguageCookieName = "cookie_lang";
protected override void ExecuteCore()
{
var cookie = HttpContext.Request.Cookies[LanguageCookieName];
string lang;
lang = ConfigurationManager.AppSettings["DefaultCulture"] ?? "en-US";
if (cookie != null)
{
lang = cookie.Value;
}
else
{
var httpCookie = new HttpCookie(LanguageCookieName, lang)
{
Expires = DateTime.Now.AddYears(1)
};
HttpContext.Response.SetCookie(httpCookie);
}
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(lang);
base.ExecuteCore();
}
}
}
这是一篇多语言的好文章。在我看来很好。
http://afana.me/archive/2011/01/14/aspnet-mvc-internationalization.aspx/
我使用此代码进行全球化并为新用户设置语言 cookie,这是基础 class BaseController
。但它根本没有执行。请帮我。
using System;
using System.Web.Mvc;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Threading;
using System.Globalization;
namespace App1.Models
{
public class BaseController : Controller
{
private const string LanguageCookieName = "cookie_lang";
protected override void ExecuteCore()
{
var cookie = HttpContext.Request.Cookies[LanguageCookieName];
string lang;
lang = ConfigurationManager.AppSettings["DefaultCulture"] ?? "en-US";
if (cookie != null)
{
lang = cookie.Value;
}
else
{
var httpCookie = new HttpCookie(LanguageCookieName, lang)
{
Expires = DateTime.Now.AddYears(1)
};
HttpContext.Response.SetCookie(httpCookie);
}
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(lang);
base.ExecuteCore();
}
}
}
这是一篇多语言的好文章。在我看来很好。 http://afana.me/archive/2011/01/14/aspnet-mvc-internationalization.aspx/