wog*_*les 1 asp.net asp.net-mvc
假设我的模型中有以下属性,我想要互相排斥:
public bool PrintWeek1 {get; set;}
public bool PrintWeek2 {get; set;}
public bool PrintWeek3 {get; set;}
Run Code Online (Sandbox Code Playgroud)
是否可以将它们渲染为一组单选按钮,还是需要将它们更改为枚举?
如果我使用@Html.RadioButtonFor它,则将name作为属性的名称,以便它们不能正确分组.
这是一个快速的解决方案,让你在模型中有以下属性 -
public bool PrintWeek1 { get; set; }
public bool PrintWeek2 { get; set; }
public bool PrintWeek3 { get; set; }
public string SelectedValue { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后你的HTML应该是这样的 -
@Html.RadioButtonFor(Model => Model.PrintWeek1, "PrintWeek1", new { @Name = "SelectedValue" })
@Html.RadioButtonFor(Model => Model.PrintWeek2, "PrintWeek2", new { @Name = "SelectedValue" })
@Html.RadioButtonFor(Model => Model.PrintWeek3, "PrintWeek3", new { @Name = "SelectedValue" })
Run Code Online (Sandbox Code Playgroud)
然后,当您提交表单时,您将获得SelectedValue属性中的选定值.
编辑 地址@StephenMuecke点,创建了以下解决方案 -
创建一个enum-
public enum PrintWeekType
{
PrintWeek1, PrintWeek2, PrintWeek3
}
Run Code Online (Sandbox Code Playgroud)
然后有一个模型属性(而不是单个属性,具有单个emum属性) -
public PrintWeekType SelectedValue { get; set; }
Run Code Online (Sandbox Code Playgroud)
HTML应如下所示 -
@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek1)
@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek2)
@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek3)
Run Code Online (Sandbox Code Playgroud)
使用上面的示例,可以预先选择一个单选按钮,同时我们可以在SelectedValue属性中发布所选的值.
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |