Asp.net 为站点本地化加载不同的css

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文件。我只需要在母版页中执行此操作。

您可以在cookie中编写所选语言。然后在母版页中检查保存在cookie中的值并分配正确的样式表。

如果使用内置主题和全球化支持,则可以使用httpModule:(未测试)


我将我的区域性信息存储在会话中,但我不知道如何在区域性更新时加载不同的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;
    }

}

}