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

ASP.NET – 如果不包括CSS,如何包含CSS?

发布时间:2020-12-16 06:53:00 所属栏目:asp.Net 来源:网络整理
导读:我使用下面的代码动态地包含一个CSS文件: HtmlHead head = (HtmlHead)Page.Header;HtmlLink link = new HtmlLink();link.Attributes.Add("href",Page.ResolveClientUrl("~/App_Themes/Default/StyleSheet.css"));link.Attributes.Add("type","text/css");li
我使用下面的代码动态地包含一个CSS文件:

HtmlHead head = (HtmlHead)Page.Header;
HtmlLink link = new HtmlLink();
link.Attributes.Add("href",Page.ResolveClientUrl("~/App_Themes/Default/StyleSheet.css"));
link.Attributes.Add("type","text/css");
link.Attributes.Add("rel","stylesheet");
head.Controls.Add(link);

问题是:我只想做一次,并且只有在页面中没有包含它时才会这样做.

如何验证是否已包含?

编辑:

答案告诉我使用包含在页面加载!IsPostBack将无法解决我的问题,因为此代码将在Web用户控件内,我的页面可能有很多相同的用户控件.

例如,我使用下面的代码来使用javascript:

if (!Page.ClientScript.IsClientScriptIncludeRegistered("jsScript"))
{
    Page.ClientScript.RegisterClientScriptInclude("jsScript",ResolveUrl("~/Utilities/myScript.js"));
}

解决方法

做到了…

我使用的代码如下:

Boolean cssAlrealyIncluded = false;
        HtmlLink linkAtual;
        foreach (Control ctrl in Page.Header.Controls)
        {
            if (ctrl.GetType() == typeof(HtmlLink))
            {
                linkAtual = (HtmlLink)ctrl;

                if (linkAtual.Attributes["href"].Contains("datePicker.css"))
                {
                    cssAlrealyIncluded = true;
                }
            }
        }

        if (!cssAlrealyIncluded)
        {
            HtmlLink link = new HtmlLink();
            link.Attributes.Add("href",ResolveUrl("~/Utilities/datePickerRsx/datePicker.css"));
            link.Attributes.Add("type","text/css");
            link.Attributes.Add("rel","stylesheet");
            Page.Header.Controls.Add(link);
        }

(编辑:李大同)

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

    推荐文章
      热点阅读