我目前正在使用 Bootstrap V3 和 MVC4。
我在使用引导程序定义的单选按钮访问和格式化数据时遇到问题。
当我使用以下声明我的单选按钮时 - 特别是data-toggle="buttons"
:
<div class="btn-group" data-toggle="buttons" style="padding-bottom:10px">
<label class="btn btn-primary">
@Html.RadioButtonFor(model => model.searchType, "radiobutton1") RadioButton 1
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(model => model.searchType, "radiobutton2") RadioButton2
</label>
</div>
结果是:
一切看起来都很完美。当我选择一个按钮时,它会被按下,直到我选择另一个。
但是,当我提交表单时,该值不会传递给控制器。它是空的。我有一个强类型视图,它从文本框和页面上的单选按钮获取值。
当我使用以下定义我的单选按钮时 - 特别是data-toggle="buttons-radio"
:
<div class="btn-group" data-toggle="buttons-radio" style="padding-bottom:10px">
<label class="btn btn-primary">
@Html.RadioButtonFor(model => model.searchType, "radiobutton1") RadioButton 1
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(model => model.searchType, "radiobutton2") RadioButton2
</label>
</div>
我的结果是
这不是我想要的按钮。小圆圈是可见的。更不用说,一旦我选择了其中一个按钮,就没有回头路了。我被迫保留那个,我不能选择另一个选项。
这个选项的一个好处是我能够将选择的值传递给控制器。提交表单后,我可以看到模型对象中 searchType 的值是 Radiobutton1 或 Radiobutton2。
对于那些想知道的人,这就是我的模型的样子。它有一个用于 searchType 和 searchString 的位置。
public class SearchForm
{
public string searchString{ get; set; }
public string searchType { get; set; }
}
我要问的是如何结合这两个结果?
一个看起来很完美但不传递数据,另一个看起来很糟糕并传递了日期。
我已将其范围缩小到data-toggle
设置为Buttons
or 或的属性Buttons-Radio
。