.Net Radiobutton类

时间:2010-12-16 11:07:07

标签: .net asp.net css

我试图设计我的无线电按钮。

但是当我使用firbug编译和修改代码时会发生一些奇怪的事情。

mycode的:

<asp:RadioButton ID="selType1" GroupName="Type" runat="server" CssClass="radioB" Checked="true" />

萤火虫:

<span class="radioB">
   <input id="ctl00_ctl00_BodyContentHolder_TestController_1_selType1" name="ctl00$ctl00$BodyContentHolder$TestController_1$Type" value="selType1"` checked="checked" type="radio">

出于某种原因,SPAN标记获取类名,而不是INPUT标记。

任何人都知道这是为什么?

THX Marthin

2 个答案:

答案 0 :(得分:4)

我有一个理论为什么它想要在输入元素上创建一个带有类的span。如果有多个输入具有相同的类名彼此相邻,那么它也可以创建一个跨度来覆盖它们,而不是为它们指定class =“radioB”。众所周知,ASP.NET组件会吐出一些丑陋的HTML。

这是使radioB类在input元素上工作的一种解决方案,以下列方式修改radioB类的CSS:

.radioB input
{
    ...
}

但是可能还有其他解决方案,请尝试以下代码:

selType1.InputAttributes["class"] = "radioB";

答案 1 :(得分:1)

我遇到了同样的问题,这是你分配给单选按钮的文本字符串,用于获取样式。

为了解决这个问题,我编写了一个JQuery脚本,在脚本加载时获取父span类。

复选框也存在同样的问题。 这是我的剧本:

$("input[type=checkbox]").each(function() {
                $(this).attr("class", $(this).parent().attr("class"));
                $(this).parent().attr("class", "");
            });

也许您想要自定义它,例如只需将添加到 RadioButton ,而不是从父级中删除