首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在.net中以编程方式将Javascript文件添加到用户控件

在.net中以编程方式将Javascript文件添加到用户控件
EN

Stack Overflow用户
提问于 2009-02-06 18:48:05
回答 7查看 27.5K关注 0票数 17

如何以编程方式将Javascript文件添加到用户控件?

我希望用户控件是一个完整的包-即我不想在使用它的页面上添加与用户控件相关的javascript,当我可以在控件本身中这样做的时候。

由于用户控件中没有Page对象,您将如何操作呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-11 00:07:39

在control.ascx.cs文件的Page_Load方法中:

代码语言:javascript
复制
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=”即可。

票数 26
EN

Stack Overflow用户

发布于 2009-02-06 18:54:35

您可以使用ClientScriptManager注册客户端脚本。可以通过Control.Page属性访问该页。

代码语言:javascript
复制
Page.ClientScript.RegisterClientScriptInclude (
  typeof ( MyControl ), "includeme.js", "js/includeme.js"  );

编辑:对不起,对于完全的“完整包”,可以使用脚本作为嵌入式资源,并通过WebResource.axd处理程序获取动态网址。如果这不被认为是完全完整的,那么我猜它可以放在App_LocalResources中,但它永远不会只是一个文件,除非代码和脚本是内联的。

票数 9
EN

Stack Overflow用户

发布于 2010-03-25 20:10:39

与gnomixa的响应相同,只是更清晰一些:

代码语言:javascript
复制
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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/521639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档