使用ASP.NET MVC帮助器的自定义样式单选按钮

时间:2018-07-06 03:48:05

标签: html css razor html-helper

我正在努力在ASP.NET MVC项目中设置Html.RadioButtonFor()表单元素的样式。我正在尝试复制以下内容:http://jsfiddle.net/YB8UW/2374/

但是我的HTML表单部分如下所示:

<div class="form-group">
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, true) Track</label>
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, false) Album</label>
</div>

当我做类似的事情时,我的风格都没有得到体现:

input[type="radio"]:checked + label {
    background:yellow;
}

尽管我项目中的标签轮廓(取自小提琴)的css正常工作

label {
    padding: 5px;
    border: 1px solid #CCC;
    cursor: pointer;
    z-index: 90;
}

但是仅此而已,我无法获取所选元素的背景颜色样式。我必须添加什么其他语法才能将其提取?

谢谢!

2 个答案:

答案 0 :(得分:1)

+选择器会在checked单选和以下内容之后查找标签:

<div class="form-group">
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, true) Track</label>
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, false) Album</label>
</div>

将生成位于标签内的单选按钮,例如

<div class="form-group">
    <label><input type="radio" />...</label>
    <label><input type="radio" />...</label>
</div>

@RadioButtonFor之后放置标签应该可以解决问题:

<div class="form-group">
    @Html.RadioButtonFor(m => m.Presave.IsTrack, true, new { id = "track" })
    <label for="track">Track</label>
    @Html.RadioButtonFor(m => m.Presave.IsTrack, false, new { id = "album" }) 
    <label for="album">Album</label>
</div>

答案 1 :(得分:0)

<div class="form-group">
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, true,new { @class = "hello" }) Track</label>
    <label>@Html.RadioButtonFor(m => m.Presave.IsTrack, false, new { @class = "hello" }) Album</label>
</div>