asp.net - 为什么 ASP.Net RadioButton 和 CheckBox 在 Span 内呈现?

标签 asp.net webforms

我希望这样:

<asp:CheckBox    ID="CheckBox1"    runat="server" CssClass="myClass" />
<asp:RadioButton ID="RadioButton1" runat="server" CssClass="myClass" />
<asp:TextBox     ID="TextBox1"     runat="server" CssClass="myClass" />

...像这样渲染(为了简单起见,删除了一些属性):

<input id="CheckBox1"    type="checkbox" class="myClass" />
<input id="RadioButton1" type="radio"    class="myClass" />
<input id="TextBox1"     type="text"     class="myClass" /> 

...事实上,RadioButtonCheckBoxspan 标签包裹,并且 CSS 类被应用到那里。

<span class="myClass"><input id="CheckBox1"    type="checkbox" /></span> 
<span class="myClass"><input id="RadioButton1" type="radio"    /></span> 
<input type="text" id="TextBox1" class="myClass" /> 

出现这种情况有原因吗?有办法避免吗?它使 jQuery 选择器变得丑陋,因为你无法使用以下方法捕获所有选择器:

$("input.myClass")

当然,它只会:

$("input.myClass, span.myClass input")

...但这很丑陋。我可以编写自己的选择器,但同样不够优雅。

最佳答案

这也让我抓狂,直到我找到了 inputAttributes 属性。

例如,下面是如何直接在复选框控件上添加类,而无需使用 Span 废话:

myCheckBoxControl.InputAttributes.Add("class", "myCheckBoxClass")

关于asp.net - 为什么 ASP.Net RadioButton 和 CheckBox 在 Span 内呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/997342/

相关文章:

asp.net - 限制每页表中的行数

c# - 在一个数据列表模板单元格中显示多个图像

javascript - 从 iPad 创建 Canvas 图像

asp.net - asp :LinkButton disappears after postback的内图和文字

ASP.NET 元 :resourcekey

c# - N 层 ASP.NET 应用程序 : One class library for all my layers or one class library for each layer?

asp.net - 如何将以编程方式生成的 PDF 附加到电子邮件并发送?

c# - 忽略单个页面的身份验证

c# - ASP.Net 目录中的文件列表 + 文件链接

jquery - 为什么 jquery.validate 似乎不适用于用户控件?