繁体   English   中英

从ASP.NET Web控件引用外部文件?

[英]Referencing External Files from ASP.NET Web Control?

从ASP.NET Web控件引用外部文件的首选方法是什么?

我的Web控件需要访问两个外部文件。 一个是CSS文件。 另一个是JavaScript文件。

<link href="<%= VirtualPathUtility.ToAbsolute("~/css/mycss.css") %>" rel="stylesheet" type="text/css" />
<script src="<%= VirtualPathUtility.ToAbsolute("~/scripts/myjs.js") %>" type="text/javascript"></script>

该页面可能包含我的控件的多个实例。 当然,我只希望页面包含对每个文件的单个引用。

我看了一下Page.ClientScript属性和方法。 但是它似乎没有专门针对CSS的版本。

我还查看了使用诸如Page.Header.Controls.Add(link)类的东西,但这似乎并没有直接支持防止对同一文件的多个引用。

还有其他选择吗?

好的,因此显然没有首选的方法:

以下似乎正在工作:

if (!Page.ClientScript.IsClientScriptIncludeRegistered("MyControl.ascx.cs"))
{
    Page.ClientScript.RegisterClientScriptInclude("MyControl.ascx.cs", ResolveClientUrl("~/scripts/myjs.js"));

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM