Asp.net 为站点本地化加载不同的css
我需要根据用户选择的语言加载不同的css文件。我只需要在母版页中执行此操作。您可以在cookie中编写所选语言。然后在母版页中检查保存在cookie中的值并分配正确的样式表。如果使用内置主题和全球化支持,则可以使用httpModule:(未测试)Asp.net 为站点本地化加载不同的css,asp.net,asp.net-mvc-2,c#-4.0,Asp.net,Asp.net Mvc 2,C# 4.0,我需要根据用户选择的语言加载不同的css文件。我只需要在母版页中执行此操作。您可以在cookie中编写所选语言。然后在母版页中检查保存在cookie中的值并分配正确的样式表。如果使用内置主题和全球化支持,则可以使用httpModule:(未测试) 我将我的区域性信息存储在会话中,但我不知道如何在区域性更新时加载不同的css文件changes@WingMan20-10存储文化信息的最佳位置是URL,如www.abc.com/en-us/。/…文化特定代码不可见。我们需要向下滚动代码文本框以查看开关
我将我的区域性信息存储在会话中,但我不知道如何在区域性更新时加载不同的css文件changes@WingMan20-10存储文化信息的最佳位置是URL,如
www.abc.com/en-us/。/…
文化特定代码不可见。我们需要向下滚动代码文本框以查看开关(page.Culture)。
public class PageModule : IHttpModule
{
public void Dispose()
{
}
public void Init(System.Web.HttpApplication context)
{
context.PreRequestHandlerExecute += Application_PreRequestHandlerExecute;
}
public void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
//Adds a handler that executes on every page request
HttpApplication application = default(HttpApplication);
application = (HttpApplication)sender;
Page page = application.Context.CurrentHandler as Page;
if ((page != null))
page.PreInit += Page_PreInit;
}
public void Page_PreInit(object sender, EventArgs e)
{
//If current context has no session then abort
if (HttpContext.Current.Session == null)
return;
//Get current page context
Page page = (Page)sender;
switch (page.Culture) {
case "en-US":
page.Theme = "en-USTheme";
break;
case "fr-FR":
page.Theme = "fr-FRTheme";
break;
default:
page.Theme = "DefaultTheme";
break;
}
}
}