如何在我们的用户控件中应用样式表

Posted

技术标签:

【中文标题】如何在我们的用户控件中应用样式表【英文标题】:How to apply stylesheet in our user control 【发布时间】:2011-12-10 00:52:39 【问题描述】:

我创建了一个用户控件并应用了样式表。

当我在我的 asp.net 网络表单样式表上添加此用户控件时,将不适用。我不想在我的 asp.net 页面中添加样式表文件的引用

请。帮帮我。

谢谢 .

【问题讨论】:

相关线程 - ***.com/questions/34390/… 【参考方案1】:

一般在web.config下你需要

    添加<pages theme="skinfile" styleSheetTheme="Default"> 在应用程序的根目录添加 APP_Themes asp.net 文件夹和 在该文件夹下创建 2 个文件夹,名为 Default 用于样式表和 skinfile 文件夹用于 skinfile

这样就可以在整个应用程序中使用。

【讨论】:

【参考方案2】:

试试这个方法

<link rel="Stylesheet" type="text/css" href="<%=ResolveUrl("~/yourpath.css") %>" />

希望对你有帮助

【讨论】:

【参考方案3】:

需要在 html 的 HEAD 部分应用指向样式表的链接。如果您不想直接在您的 asp.net 页面中引用样式表,您可以在您的用户控件中使用内联样式或在用户控件代码隐藏文件中添加引用。以下代码位于 VB.NET 中,取自 this forum 中的答案:

Dim Style As New HtmlControls.HtmlLink

With Style.Attributes
.Add("href", Me.ResolveUrl(Me.AppRelativeVirtualPath).Replace(" .ascx", ".css"))
.Add("type", "text/css")
.Add("rel", "stylesheet")
End With

Page.Header.Controls.Add(Style)

【讨论】:

我想在 ascx 页面而不是 aspx 页面上执行此操作。 您不能从用户控件的标记中将样式表添加到页面,您必须像@Andy 建议的那样在代码中完成。

以上是关于如何在我们的用户控件中应用样式表的主要内容,如果未能解决你的问题,请参考以下文章

在 UWP 类库中设置用户控件的样式并在使用应用程序中覆盖它

在 wpf 中应用样式时,用户控件内的组合框消失

从包含的用户控件设置窗口内某些控件的样式

在当前页面按钮上应用不同的样式?

WPF 样式不适用于已设置样式的用户控件

来自 MFC 对话框中使用的托管 C# 用户控件的未处理异常