Asp.net mvc 如何从无限数量的项目中收集数据? @{int i=0;} @foreach(Model.BlockList中的变量e) { @foreach(e.单选按钮中的变量e2) { @Html.RadioButton(“r”+i,e2.Id,false)@e2.ViewText } i++; }

Asp.net mvc 如何从无限数量的项目中收集数据? @{int i=0;} @foreach(Model.BlockList中的变量e) { @foreach(e.单选按钮中的变量e2) { @Html.RadioButton(“r”+i,e2.Id,false)@e2.ViewText } i++; },asp.net-mvc,razor,Asp.net Mvc,Razor,问题:如何在控制器中通过所有答案 此时,我的控制器类如下所示: @{int i=0;} @foreach (var e in Model.BlockList) { @foreach (var e2 in e.RadioButtons) { <label>@Html.RadioButton("r"+i, e2.Id, false) @e2.ViewText</label><br /> } i++; } [HttpPost] 公共行动结

问题:如何在控制器中通过所有答案

此时,我的控制器类如下所示:

@{int i=0;}
@foreach (var e in Model.BlockList)
{ 
  @foreach (var e2 in e.RadioButtons)
  {
    <label>@Html.RadioButton("r"+i, e2.Id, false) @e2.ViewText</label><br />
  }
  i++;
}
[HttpPost]
公共行动结果索引(DocAlpha a)
{
列表结果=新列表();
int i=0;
while(Request.Params[“r”+i.ToString()]!=null)
{
int-val=0;
if(int.TryParse(Request.Params.Get(“r”+i.ToString()),out val))
{
结果:添加(val);
}
i++;
}
返回索引();
}

可能有更好的方法吗?

您可以创建一组单选按钮名称,如下所示(注意名称):


默认模型活页夹将使用表单中输入的值自动填充操作中的答案数组。

您可以这样创建单选按钮名称数组(注意名称):


默认的模型绑定器将使用表单中输入的值自动填充操作中的答案数组。

此RadioButtons属性是否为枚举?如果是,是否可以将其设置为标记的枚举?此RadioButtons属性是否为枚举?如果是,是否可以将其制作成带标记的枚举?
[HttpPost]
public ActionResult Index(DocAlpha a)
{
   List<int> results = new List<int>();
   int i = 0;

   while (Request.Params["r" + i.ToString()] != null)
   {
      int val = 0;

      if(int.TryParse(Request.Params.Get("r" + i.ToString()), out val))
      {
         results.Add(val);
      }
      i++;
   }

   return Index();
}
Html : 
<input type="text" name="r[0]" value="" />
<input type="text" name="r[1]" value="" />
<input type="text" name="r[2]" value="" />
<!--and so on -->
public ActionResult TheAction (string[] r) {

}