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

asp.net – 将url参数添加到asp主题文件夹中的css文件中

发布时间:2020-12-15 20:58:26 所属栏目:asp.Net 来源:网络整理
导读:我编写了一些有助于js文件版本化的代码.本质上,它围绕当前脚本管理器旋转,并使用文件的md5哈希附加 javascript文件路径.所以 script src="../Javascript/Navigation.js" type="text/javascript"/script 变 script src="../Javascript/Navigation.js?md5=70D2
我编写了一些有助于js文件版本化的代码.本质上,它围绕当前脚本管理器旋转,并使用文件的md5哈希附加 javascript文件路径.所以
<script src="../Javascript/Navigation.js" type="text/javascript"></script>

<script src="../Javascript/Navigation.js?md5=70D2B4D1F236C7E340D9152B9E4102C3" type="text/javascript"></script>

我认为这是一个相当普遍的事情(或其变体).我正在努力做的是拿起app_themes文件夹中的css文件并执行相同的操作.

我如何进入并更改css链接?

解决方法

您可以使用控件适配器将此行为整齐地注入页面,如下所示:
public class PageAdapter : System.Web.UI.Adapters.PageAdapter
{
    protected override void OnPreRender(System.EventArgs e)
    {
        foreach (var link in Page.Header.Controls.OfType<HtmlLink>().ToList())
            if (link.Attributes["type"].Equals("text/css",StringComparison.OrdinalIgnoreCase))
                if (link.Attributes["href"].Contains("/App_Themes/{0}/".Fill(Page.Theme),StringComparison.OrdinalIgnoreCase))
                   /* process link */

        base.OnPreRender(e);
    }
}

您可以通过将以下内容保存为App_Browsers文件夹中的* .browser文件来插入它:

<browsers>
  <browser refID="Default">
    <controlAdapters>
      <adapter controlType="System.Web.UI.Page"
               adapterType="PageAdapter" />
    </controlAdapters>
  </browser>
</browsers>

总的来说,我认为控制适配器是一种强大的类似AOP的机制,用于将行为注入控件/页面生命周期;他们几乎完全被忽视,转而支持传统的分类.

(编辑:李大同)

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

    推荐文章
      热点阅读