如何以编程方式将Javascript文件添加到用户控件?
我希望用户控件是一个完整的包-即我不想在使用它的页面上添加与用户控件相关的javascript,当我可以在控件本身中这样做的时候。
由于用户控件中没有Page对象,您将如何操作呢?
发布于 2009-02-11 00:07:39
在control.ascx.cs文件的Page_Load方法中:
LiteralControl jsResource = new LiteralControl();
jsResource.Text = "<script type=\"text/javascript\" src=\"js/mini-template-control.js\"></script>";
Page.Header.Controls.Add(jsResource);
HtmlLink stylesLink = new HtmlLink();
stylesLink.Attributes["rel"] = "stylesheet";
stylesLink.Attributes["type"] = "text/css";
stylesLink.Href = "css/mini-template-control.css";
Page.Header.Controls.Add(stylesLink);
这会将css和Javascript加载到主页的head标签中,只要确保头部有“runat=”即可。
发布于 2009-02-06 18:54:35
您可以使用ClientScriptManager注册客户端脚本。可以通过Control.Page属性访问该页。
Page.ClientScript.RegisterClientScriptInclude (
typeof ( MyControl ), "includeme.js", "js/includeme.js" );
编辑:对不起,对于完全的“完整包”,可以使用脚本作为嵌入式资源,并通过WebResource.axd处理程序获取动态网址。如果这不被认为是完全完整的,那么我猜它可以放在App_LocalResources中,但它永远不会只是一个文件,除非代码和脚本是内联的。
发布于 2010-03-25 20:10:39
与gnomixa的响应相同,只是更清晰一些:
HtmlGenericControl js = new HtmlGenericControl("script");
js.Attributes["type"] = "text/javascript";
js.Attributes["src"] = "jscript/formfunctions.js";
Page.Header.Controls.Add(js);
来自http://www.aspdotnetfaq.com/Faq/How-to-Programmatically-add-JavaScript-File-to-Asp-Net-page.aspx
https://stackoverflow.com/questions/521639
复制相似问题