加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

默认的ASP.NET主题

发布时间:2020-12-16 03:39:23 所属栏目:asp.Net 来源:网络整理
导读:是否可以为ASP.NET网站创建默认主题? 例如,如果我有一个名为“默认”的主题,并且我选择了一个名为“NewTheme”的主题,我引用了一个在“NewTheme”中不存在但在“默认”主题中存在的文件,如: asp:image id="img" runat="server" ImageUrl="~/Images/image.j
是否可以为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”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读