当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《以编程方式将Javascript文件添加到.net中的用户控件》经验,为你挑选了3个好方法。

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

我希望用户控件是一个完整的包 - 也就是说我不想在它使用的页面上添加与用户控件相关的javascript,当我可以在控件本身内完成时.

由于用户控件中没有Page对象,你会怎么做?



1> sarsnake..:

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

LiteralControl jsResource = new LiteralControl();
jsResource.Text = "";
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 ="server".



2> baretta..:

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

Page.ClientScript.RegisterClientScriptInclude (
  typeof ( MyControl ), "includeme.js", "js/includeme.js"  );

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



3> Contra..:

与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

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有