Asp.net 如何在Razor中使用编辑器模板创建radiobutton组

Asp.net 如何在Razor中使用编辑器模板创建radiobutton组,asp.net,asp.net-mvc,asp.net-mvc-3,razor,mvc-editor-templates,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,Mvc Editor Templates,我有下面的型号 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<SelectListIt

我有下面的型号

 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
}
当我这样称呼它的时候

@Html.EditorFor(f => f.filterSettings)
单选按钮工作正常。当我为每个人做这些事情时会发生什么


谢谢你的帮助

当您调用集合的
编辑器/EditorFor
时,Razor将跟踪生成的名称和ID,因此您将获得生成的名称,例如
地址[0]。Line1
地址[1]。Line1


但是,当您自己迭代集合并调用each model razor的编辑器时,不要跟踪名称和ID(应该是怎样的?这不会更复杂吗?)它被认为是将在页面中呈现的一个新控件。

当您为集合调用
编辑器/EditorFor
时,Razor将跟踪生成的名称和ID,因此您将获得生成的名称,例如
地址[0]。Line1
地址[1]。Line1


但是,当您自己迭代集合并调用每个模型的编辑器时,razor不会跟踪名称和id(应该如何?这不会更复杂吗?),它被认为是一个新控件,将在页面中呈现。

通常我使用@Html.HiddenFor(x=>x.id)和@Html.HiddenFor(x=>x.name),试试这个

通常我使用@Html.HiddenFor(x=>x.id)和@Html.HiddenFor(x=>x.name),试试这个

@foreach (var filter in Model.FilterSettings)
{
      ....
      @Html.EditorFor(f => filter)
}
@Html.EditorFor(f => f.filterSettings)