首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从UserControl链接到样式表的首选方法?

从UserControl链接到样式表的首选方法?
EN

Stack Overflow用户
提问于 2019-04-18 00:20:37
回答 2查看 0关注 0票数 0

我们主要使用ASP.NET环境。现在我正在构建一个使用“模块”的应用程序,它只是一个UserControl,它的“Javascript”在控件中,并且是该控件样式表的链接元素。我想保持模块化,并希望此控件的样式独立于标记/ javascript。

所以我想知道这样做的首选方法是什么?显然,如果我不想要我所追求的“主题”功能,我可以在控件的顶部使用样式标签。现在我有一个链接元素,正如我所说,这是不正确的我不认为。

有没有人有任何首选方法,如果有,为什么和为什么?

我简单地考虑了ASP.NET主题,但我认为这些控件的想法有点不同。

它基本上是一个购物车系统。我不想深入了解这一切,但我们正在使用一个非常整洁的安全系统,我们不想使用预制购物车。我正在开发一组可以在页面上删除的控件,例如在SiteFinity(我们使用的CMS系统)或我们可能拥有的任何其他项目中。通常我会将这些编译成一个DLL,所以我们得到了可以从工具箱中拖放的ACTUAL控件,然后我可以使用内部的“通用”样式,并允许任何有人想要的添加样式,以及提供一些更高级的样式作为好。

这是我第一次做到这一点,或者真的是我们店里的任何人第一次做到这一点,所以当我走的时候,我有点想办法。我可能离基地很远,但希望我不是。

对,这个想法是有一个“主题”,它实际上只是一个CSS文件和一个jQuery模板。我让它们命名相同,并在usercontrol上有一个Theme属性来设置它。

当这些控件最终确定时,我可能会将javascript重构为代码隐藏中的RegisterScriptBlock,但是现在它们只是在控件本身的脚本标记中。

提示这个问题的是DebugBar for IE,给我警告链接元素不允许在div中。我不太在乎,但在考虑之后,我不知道如何在不这样做的情况下链接到css文件。我非常简单地考虑在主服务器上有一个'空'链接标记,然后在UserControl的Page_Load后面的代码中设置THAT,但这不太好

我可以使用@import,但我认为链接标签是首选,对吗?

EN

回答 2

Stack Overflow用户

发布于 2019-04-18 08:30:39

我认为你应该做的是使用Page.RegisterScriptBlock来注册你的脚本块。最好的情况是你不应该在你的ascx内部脚本块中内嵌它们。这并不总是可行,但从理论上讲,这是最好的方法。

理想情况下,您的样式也应与标记分开。您的控件可以包含类和ID,但您的样式取决于您的应用程序而不是您的控件。理论上,控件可以用在您可能需要不同样式的其他应用程序中。

票数 0
EN

Stack Overflow用户

发布于 2019-04-18 09:25:02

听起来你正在推动自己的主题引擎...为什么不使用ASP.NET主题?

如果您决定自己动手,这里有一些您可能感兴趣的CssFriendly项目代码。(我认为只要我引用代码就可以发布代码。).css文件被标记为嵌入式资源,下面的代码用于根据需要包含它们。

代码语言:javascript
复制
string filePath = page.ClientScript.GetWebResourceUrl(type, css);

// if filePath is not empty, embedded CSS exists -- register it
if (!String.IsNullOrEmpty(filePath))
{
    if (!Helpers.HeadContainsLinkHref(page, filePath))
    {
        HtmlLink link = new HtmlLink();
        link.Href = page.ResolveUrl(filePath);
        link.Attributes["type"] = "text/css";
        link.Attributes["rel"] = "stylesheet";
        page.Header.Controls.Add(link);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001128

复制
相关文章

相似问题

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