我有以下型号如何剃刀
public class FilterSetting
{
public FilterType Type { get; set; }
public ShowOption Option { get; set; }
public bool IsMultiple { get; set; }
public List<int> SelectedValues { get; set; }
public List<SelectListItem> Values { get; set; }
public int RowCount { get; set; }
}
public enum ShowOption
{
Common,
Also,
All
}
我想创建为ShowOption枚举一个单选按钮组,但我想用编辑器显示该组模板,因为我有另一个模型创建一个FilterSetting的列表,它将显示大约7个FilterSettings,每个模型都必须有一组ShowOption属性的3个单选按钮。
问题是,当剃须刀从编辑器模板呈现单选按钮时,它为每个单选按钮(name =“filter.Option”)使用相同的名称,我不知道如何设置值。
这是我的编辑模板
@model Models.FilterSetting
@Html.RadioButtonFor(f => f.Option, "Common", new { id = ""+ Model.Type })
@Html.Label(""+Model.Type, "Show only common assets")
<br />
@Html.RadioButtonFor(f => f.Option, "Also", new { id = "" + Model.Type })
@Html.Label(""+Model.Type, "Also show assets matching the values selected below")
<br />
@Html.RadioButtonFor(f => f.Option, "All", new { id = "" + Model.Type })
@Html.Label(""+Model.Type, "Show all assets")
<br />
@if (Model.IsMultiple)
{
@Html.ListBoxFor(f => f.SelectedValues, Model.Values)
}
else
{
@Html.DropDownListFor(f => f.SelectedValues, Model.Values, new { size = "4" })
}
我试图通过名称上htmlAttributes对象,但它不工作。
编辑: 显然问题是我叫我编辑的方式。 我打电话就这样
@foreach (var filter in Model.FilterSettings)
{
....
@Html.EditorFor(f => filter)
}
当我这样称呼它
@Html.EditorFor(f => f.filterSettings)
单选按钮正常工作。当我为每个人做什么时会发生什么?
感谢您的帮助!