【问题标题】:Can I access all the webcontrols in an aspx page somehow?我可以以某种方式访问​​ aspx 页面中的所有 web 控件吗?
【发布时间】:2015-04-22 10:51:49
【问题描述】:

我需要更改一个aspx页面中所有webcontrols的字体样式和大小,但是太多了,我不想一个一个地去做。我正在使用 CSS 文件,但它只影响页面上的简单文本,而不影响 web 控件。 如何一次访问所有 Web 控件?

【问题讨论】:

  • 你仍然应该使用 css。可能有样式会覆盖您当前的 css,您应该编辑这些样式。请不要遍历整个控件树并设置内联样式,这将是维护的噩梦。
  • “我正在使用 CSS 文件,但它只影响页面上的简单文本,而不影响 web 控件” 不,它会影响所有控件,因为所有 web 控件都呈现为 HTML控制。当然你需要分配CssClass
  • @TimSchmelter - 你能告诉我更多吗?我必须在哪里准确分配它?
  • @kisbovan93:我已将其添加为答案。

标签: asp.net fonts web-controls


【解决方案1】:

"我使用的是 CSS 文件,但它只影响页面上的简单文本 而不是网络控件”

不,它会影响所有控件,因为所有 web 控件都呈现为 HTML 控件。当然你需要分配CssClass。您可以使用代码隐藏或在 aspx 上。

aspx:

<asp:TextBox ID="UserName" CssClass="MyCssClass" runat="server"></asp:TextBox>

代码隐藏:

protected void Page_Load(Object sender, EventArgs e)
{
    UserName.CssClass = "MyCssClass";
}

如果您使用像Panel 这样的容器控件,您可以在其上应用 CSS,并且所有子控件都会继承这些样式。所以不需要在每个控件上分配相同的类。

【讨论】:

  • 好的,到目前为止我有这个:我添加了一个面板: 代码后面:MainPanel.CssClass = " MainStyleCssClass"; Css 文件:.MainStyleCssClass { font-family: 'Roboto Condensed', sans-serif; } 还是不行。
  • 如果您已经在 aspx 上应用了CssClass,则无需在代码隐藏中也分配它。我只是想以编程方式或声明方式展示两种方式。现在,Panel 中的所有控件都继承了该类(大多数样式,不是全部)。
  • 我从后面的代码中删除了我的代码,但它仍然只有在我将字体类型单独添加到 web 控件时才有效。
  • @kisbovan93:显示 css 类。 font-size 被继承。
猜你喜欢
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多