gpt4 book ai didi

asp.net - 从用户控件将代码注入(inject)母版页/html 头

转载 作者:行者123 更新时间:2023-12-04 22:17:07 25 4
gpt4 key购买 nike

我正在努力解决我认为应该是标准做法的事情。我有许多使用一些 JQuery 插件的用户控件。我真的不想从我的主主页链接到额外的 CSS 和 JS 文件,因为这会在用户第一次访问网站时导致额外的负载(诚然,这只是一次),所以我只是把它们链接到用户控件的顶部。然后我查看了我的源 HTML,不好看!对于在页面上重复多次的控件来说更糟。

所以我在想有没有办法在用户控件需要它们时将它们注入(inject)页面的头部。就此而言,有没有办法对 JS 内容的页脚进行处理?

最佳答案

要在 ASP.NET 中动态注册脚本(并确保合并重复项),您可以调用:

Page.ClientScript.RegisterClientScriptInclude(
"mykey", "~/scripts/jquery-1.3.2.js");

并在 MSDN 上阅读有关此方法的完整详细信息.

要动态添加 CSS,您可以执行以下操作:
HtmlLink cssLink = new HtmlLink();
cssLink.Href = "path to CSS";
cssLink.Attributes["some attr1"] = "some value1";
cssLink.Attributes["some attr2"] = "some value2";
Page.Header.Controls.Add(cssLink);

这个注入(inject) CSS 的例子不会合并重复的条目。为避免重复,您必须自己跟踪重复项。您可以在 HttpContext.Items 中存储已注册的脚本列表。在其中粘贴一个 HashSet 来保存所有已注册脚本的列表,这样您就不会两次注册同一个 CSS 文件(这通常是无害的,但无论如何都要避免)。

关于asp.net - 从用户控件将代码注入(inject)母版页/html 头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com