微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

默认的ASP.NET主题

是否可以为ASP.NET网站创建主题

例如,如果我有一个名为“认”的主题,并且我选择了一个名为“NewTheme”的主题,我引用了一个在“NewTheme”中不存在但在“认”主题中存在的文件,如:

<asp:image id="img" runat="server" ImageUrl="~/Images/image.jpg" />

如果在“/App_Themes/NewTheme/Images/image.jpg”中不存在,那么可以从“/App_Themes/Default/Images/image.jpg”获取吗?

此外,如果“NewTheme”中不存在CSS类,但它在“认”中存在,则可以采用“认”吗?事实上,我认为如果它首先采用所有认样式会更好,然后覆盖任何“NewTheme”发生冲突的情况.

我知道Global References与此类似,因为如果我选择“es”本地化,并且webreference.resx.es文件中不存在密钥,但它在webreference.resx中存在,那么它将从那里获取值.

我认为这将是ASP.NET主题的重要功能,因为我可以想象不同的主题只更改了某些图像,并且某些样式发生了变化.我无法想象每个主题的每个图像和每种风格总是完全不同.因此,如果没有这个功能,它将成为复制样式/图像的情况,我不喜欢它(因为显而易见的原因!).

解决方法

功能未内置于ASP.NET中.不过,你可以很容易地实现它:

>在Global.asax或自定义HTTP模块中挂钩HttpApplication.BeginRequest事件.>在“/ App_Themes / NewTheme /”下查找包含URL的请求.>检查HttpRequest.PhysicalPath上的文件是否存在.>如果文件不存在,请调用HttpContext.RewritePath并将请求URL中的“NewTheme”替换为“Default”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐