gpt4 book ai didi

c# - 如何使用控制代码 (ASP.NET) 保留特定于控制的 css

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:08 25 4
gpt4 key购买 nike

如果我正在编写一个 ASCX 控件,并且该控件具有需要 CSS 的标记,并且该 CSS 将仅由控件本身使用,是否有一种优雅的方法(除了将其粘贴在 ASCX 文件本身之外)包含 .css 文件吗?

理想情况下,我会将 control.ascx、control.ascx.cs、control.js 和 control.css 作为一个小“包”。

到目前为止,它提出了一个问题和一个问题:

问题:由于控件位于子目录中,我不想使用硬编码的标签,该标签包含 css 位于子文件夹中的知识。我想编写它以使其相对于控制代码(即:同一文件夹)但仍可在运行时找到。

关注点:如果我对十个控件执行此操作,我想服务器点击次数会增加十次。也许 ScriptManager 或 RadScriptManager 或 RadStyleSheet 管理器会神奇地聚合它们,但无论哪种方式对我来说都不是一个障碍。

关于如何解决相对路径问题有什么想法吗?

最佳答案

要获得样式表相对于页面的正确路径,请调用用户控件的ResolveClientUrl 方法,将样式表相对于< em>控制:

HtmlLink link = new HtmlLink();
link.Href = this.ResolveClientUrl("control.css"); // same directory as the control
link.Attributes["type"] = "text/css";
link.Attributes["rel"] = "stylesheet";
this.Page.Header.Controls.Add(link);

虽然每个样式表都会产生一个单独的请求,但您可以通过为它们启用内容过期来缓解这个问题。

关于c# - 如何使用控制代码 (ASP.NET) 保留特定于控制的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9335630/

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