在哪里定义了"aspNetDisabled"类,为什么ASP.NET为它呈现干扰的重复CSS"类"属性?

Tri*_*nko 15 css asp.net controls

当我将ASP.NET TextBox控件的"Disabled"属性设置为false时,最终呈现的HTML textarea标记(发送到浏览器)除了'disabled ="disabled之外还包含'class ="aspNetDisabled"'属性" '属性."aspNetDisabled"类在哪里定义?

在我看来,它没有在任何地方定义,真正的杀手是这个无用的类干扰我定义的类,因为ASP.NET将它作为一个重复的CSS类属性呈现在控件中:

<textarea [...] disabled="disabled" class="aspNetDisabled" class="boxsizingBorder largeinput">
Run Code Online (Sandbox Code Playgroud)

其他人可以确认这个bug吗?


附加信息

IIS版本: 7.0.6000.16386
AppPool .NET Framework版本: v4.0
ASPX页面中的服务器控件标记:

<asp:TextBox ID="txtInput1" class="boxsizingBorder largeinput" runat="server" TextMode="MultiLine"></asp:TextBox>.
Run Code Online (Sandbox Code Playgroud)

小智 14

对于可能仍在寻找此问题的任何人,我们可以在Global.asax中的Application_Start期间定义此css类:

void Application_Start(object sender, EventArgs e)
{
    WebControl.DisabledCssClass = "customDisabledClassName";
}
Run Code Online (Sandbox Code Playgroud)

来源:WebControl.DisabledCssClass属性(MSDN)


Sal*_*gat 5

我最终做了以下操作,这有效地删除了禁用项目的额外类的插入.

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    WebControl.DisabledCssClass = "";
}
Run Code Online (Sandbox Code Playgroud)


Iri*_*ain 2

你可能想看看这个:

http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltextarea.aspx

其一,没有“类”属性。这是一个 HTML 控件;如果想要服务器端访问,则需要添加 runat="server" 属性。有一个“禁用”属性。还有一个“样式”属性。

您能否准确解释一下您正在尝试执行的操作以及为什么不使用 TextBox 而将TextMode属性设置为多行?

  • 尝试使用 CssClass 而不是类。我在 FX4 中可以正常工作 (11认同)