将样式应用于 ASP.NET RadioButtonList

Posted

技术标签:

【中文标题】将样式应用于 ASP.NET RadioButtonList【英文标题】:Applying style to ASP.NET RadioButtonList 【发布时间】:2015-11-01 21:50:08 【问题描述】:

我正在尝试像这样在 ASP.NET 中设置 RadioButtonList 的样式:

可以在这里找到FlatUI link

我注意到 FlatUI 单选按钮的格式如下:

但是当我给 RadioButtonList 一个类时,我没有得到想要的输出。

我的标记是这样的

<div class="col-lg-12">
     <div class="col-lg-5">
                        <asp:RadioButtonList ID="WTRBTNList" OnSelectedIndexChanged="WTRBTNList_SelectedIndexChanged"
                            AutoPostBack="true" runat="server" CssClass="radio">
                            <asp:ListItem  Text="Pending Tests" Value="Pending" Selected="True"></asp:ListItem>
                            <asp:ListItem Text="Approved Tests" Value="Approved"></asp:ListItem>
                            <asp:ListItem Text="Rejected Tests" Value="Rejected"></asp:ListItem>
                        </asp:RadioButtonList>
                    </div>
         <div class="col-lg-7">
     </div>
 </div>

有人可以指导我正确的方向吗?我在这里错过了什么?

【问题讨论】:

作为一名前端开发人员并使用 .NET,我建议放弃任何 &lt;asp&gt; 标记来创建表单元素,尤其是复选框/单选列表。只需简单地创建自己想要的 html,而不是依赖 .NET 为您呈现像巧克力茶壶一样有用的东西。 @JamieBarker 谢谢...听起来不错...但是在更改单选按钮选择时,.NET 会进行回发。如果我使用纯 html,我将如何拥有该功能? javascript/jQuery。你有 jQuery 标签,所以我会给你一个 jQuery 示例:$('input[type="radio"]).on('change', function() $(this).closest('form').submit(); );。这将获取所有单选按钮并在更改时提交最接近它们的表单,或者更确切地说是它们嵌套在其中的表单。 让我试试...会回复你...谢谢你的帮助:) 还有一个 helpful article 用于仅使用 CSS 设置单选按钮的样式。 【参考方案1】:

正如评论中所建议的,您应该放弃糟糕的 .NET &lt;asp&gt; 输入标签并使用本机代码,尤其是单选和复选框列表。

<div class="col-lg-12">
    <div class="col-lg-5">
         <input type="radio" name="tests" value="Pending"<%If Reqeust.Form("tests") = "Pending" Then%> checked="checked"<%End If%> /><label>Pending</label>
         <input type="radio" name="tests" value="Pending"<%If Reqeust.Form("tests") = "Approved" Then%> checked="checked"<%End If%> /><label>Approved</label>
         <input type="radio" name="tests" value="Pending"<%If Reqeust.Form("tests") = "Rejected" Then%> checked="checked"<%End If%> /><label>Rejected</label>
     </div>
</div>

那么如果你想在点击收音机时保持表单发布,请使用以下 jQuery:

$('input[type="radio"]).on('change', function() 
    $(this).closest('form').submit();
);

如果你想为你的单选按钮设置样式,你可以阅读这个helpful article,它使用了:checked 伪选择器:

input[type="radio"]:checked + label  

【讨论】:

解释得很好......如果这些单选按钮在 UpdatePanel 中,我使用了这个 __doPostBack('MainContent_UpdatePanel1', '');

以上是关于将样式应用于 ASP.NET RadioButtonList的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.NET 中将 CSS 应用于内容页面

如何在 ASP.NET AJAX TabControl 中设置控件样式

ASP.NET MVC:其他人如何应用条件 CSS 类?

如何使用 CSS 设置 asp.net 菜单的样式

使用 CSS 更改 Asp:CheckBox 的样式/外观

ASP.Net,母版页:每页样式表