загрузить разные CSS для локализации сайта - PullRequest
3 голосов
/ 12 июля 2010

Мне нужно загрузить другой файл CSS в зависимости от языка, который выбирает пользователь. Мне нужно сделать это только на главной странице.

Ответы [ 2 ]

3 голосов
/ 12 июля 2010

Если вы используете встроенные темы и поддержку глобализации, вы можете использовать httpModule: (не проверено)

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;
    }

}

}
1 голос
/ 12 июля 2010

вы можете написать выбранный язык в куки. Затем на главной странице проверьте значение, сохраненное в файле cookie, и назначьте правильную таблицу стилей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...