我需要加载不同的CSS文件,具体取决于用户选择的语言。我只需要在我的母版页中执行此操作。加载不同的CSS进行网站本地化
3
A
回答
3
如果您使用的是内置的主题和全球化的支持,你可以使用一个HTTP模块:(未经测试)
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
您可以将所选语言写入Cookie中。然后在您的母版页检查保存在cookie中的值并分配正确的样式表。
+0
我存储在会话我的文化信息,但我不知道如何加载当文化发生变化时,不同的css文件 – 2010-07-12 17:46:51
+0
@ WingMan20-10文化信息最佳存储位置在URL中,如www.abc.com/en-us /../ ..' – shashwat 2013-06-01 07:53:27
相关问题
- 1. 用本地js/css加载网站
- 2. UIWebview未加载正确的本地化版本的网站
- 3. 网站本地化
- 4. 将本地文件(CSS或JS)加载到选择的网站
- 5. index.html不加载本地CSS
- 6. DotNetNuke网站的本地化
- 7. jquery mobile css不从本地加载,只能从网络加载
- 8. 本地化的ASP.NET网站不工作
- 9. 网站不加载css,js或图像
- 10. 测试本地化网站
- 11. 本地化一个网站
- 12. 本地化XPages网站
- 13. 应该加载外部http文件进行网站优化
- 14. Joomla - 本地网站不显示相同的主机网站
- 15. 不同地区的网站
- 16. 网站加载不同内容
- 17. iPhone本地化 - 一些本地化的XIB不加载
- 18. 避免在网站的不同页面上加载相同的Javascript/CSS文件
- 19. 在本地运行网站时,jQuery没有加载MAMP(1.11.2)
- 20. 加载本地化的UIImage
- 21. 的iOS本地化不加载语言
- 22. 加载不同的网站后执行JavaScript
- 23. 图片在本地加载,但不在网站生效时
- 24. asp.net本地化资源显式本地化不加载本地化文件
- 25. 构建将要本地化的网站
- 26. 静态网站的本地化
- 27. Android上的Chrome浏览器 - 无法加载本地网站javascript和css
- 28. 在iOs中手动加载不同的本地化笔尖
- 29. '正常化'CSS的网站?
- 30. xampp - 不再加载本地网站,但总是重定向到互联网版本的网站
文化特定代码不可见。我们需要向下滚动代码文本框来查看切换(page.Culture)。 – 2011-06-19 01:29:14