将整个模型与子模型列表传递给控制器

时间:2017-10-06 08:39:46

标签: asp.net-mvc

我的MVC应用程序中有两个模型

主要模特

public class MainModel
{
  public string desc{get;set;}
  public List<SubModel> subModelView{get;set;}
}

public class SubModel
{
  public string Id{get;set;}
  public string desc {get;set;}
 }

在我的视图中使用mainmodel

查看:

@using ViewModel.MainModel
@using (Html.BeginForm())
{
<table>
<tr>
@Html.EditorFor(model => model.desc)
<tr>
@if(Model.subModelView!= null)
{
@foreach (SubModel subview in Model.subModelView)
{
 <tr> 
               <td>
                    @Html.Label("lblFieldHeader", @subview.desc)
               </td> 
               <td>
               @if (subview.ID == "TXTBOX" || subview.ID== "NUM_TXTBOX")
               {
                     @Html.TextBox("TXTBOX", @subview.desc) 
               }
               </td>
               </tr>
   }
  } 
  <p>
         <input type="submit" value="Create" />
       </p>
 }

在控制器中:

   [HttpPost]
   public ActionResult Create(MainModel ruleViewModel)
    {
        //I'm adding it to the database
        return Json(result, JsonRequestBehavior.AllowGet);
    }

我面临的问题是当模型传递给控制器​​时,MainModel中的值存在,但其中的SubModel列表为null。但是当我在去控制器之前进行调试时,列表的计数是2。

我在这里想念什么?

0 个答案:

没有答案