Asp.net mvc 4 填充视图模型列表对象中的值

Asp.net mvc 4 填充视图模型列表对象中的值,asp.net-mvc-4,Asp.net Mvc 4,我有一个问题,无法将视图中用户填写的值获取到ViewModel中定义的列表中 我认为某些字段将手动填写,如下所示: S.No StyleName JobType Quantity 1 ABC Repair 2 2 XYZ Wash 3 我的ViewModel如下所示: public class IssueViewModel { public List&

我有一个问题,无法将视图中用户填写的值获取到ViewModel中定义的列表中

我认为某些字段将手动填写,如下所示:

S.No   StyleName    JobType    Quantity
1      ABC          Repair     2
2      XYZ          Wash       3
我的
ViewModel
如下所示:

    public class IssueViewModel
    {          
        public List<OrderItem> Items { get; set; }              
    }
现在的问题是如何将此ViewModel列表链接到View,以获取my
Items
列表中要保存在DB中的值

如果我为StyleName、JobType和Quantity定义单独的列表,它就可以正常工作。在这种情况下,我的观点如下:

<table id="theTable">
  <tr>
    <th>Sr.No</th>
    <th>Style Name</th>
    <th>JobType</th>
    <th>Quantity</th>
  </tr>
  <tr>
    <td>1</td>
    <td>
          @Html.TextBoxFor(model => model.StyleName)
            @*<input type = "text" style="border:0px;" value = "" />*@
    </td>         
    <td>
          @Html.TextBoxFor(model => model.JobType)
           @*<input type = "text" style="border:0px;" value = "" />*@
    </td>
    <td>
          @Html.TextBoxFor(model => model.Quantity)
            @*<input type = "text" style="border:0px;" value = "" />*@
    </td>    
  </tr>
</table>         

高级工程师
样式名
工作类型
量
1.
@Html.TextBoxFor(model=>model.StyleName)
@**@
@Html.TextBoxFor(model=>model.JobType)
@**@
@Html.TextBoxFor(model=>model.Quantity)
@**@
如果我使用上面的方法,我必须读3个不同的循环才能得到值。我理解这不是正确的方法


我知道我们使用for循环来显示,但这里我需要接受用户填写的值。我找了很多,但没有找到任何解决办法。请告知。谢谢

OrderItem
创建一个编辑器模板,其中每个属性都有文本框,然后在主视图中,只需使用
Html.EditorForModel()
,它将根据编辑器模板为模型中的每个属性生成标记,如果属性是列表,则为该列表中的每个项目生成标记。您不需要在任何地方手动循环任何内容。

您可以使用一个名为EditorTemplates的功能:您是否需要代码,即控制器代码,以了解如何获取
项并保存到数据库中?@SoftwareFactor感谢您的链接。这是一个很好的教程,但作为一个初学者,我发现它很难实现。仍在尝试..@prakash2089我不希望控制器代码,但希望html(视图)代码获取用户在我的控制器中输入的值。从控制器中,我可以将值保存为DB。只是我无法从数组列表中的视图到控制器获取值。谢谢。我按照建议做了尝试,但似乎做得不对。但仍在努力。。
<table id="theTable">
  <tr>
    <th>Sr.No</th>
    <th>Style Name</th>
    <th>JobType</th>
    <th>Quantity</th>
  </tr>
  <tr>
    <td>1</td>
    <td>
          @Html.TextBoxFor(model => model.StyleName)
            @*<input type = "text" style="border:0px;" value = "" />*@
    </td>         
    <td>
          @Html.TextBoxFor(model => model.JobType)
           @*<input type = "text" style="border:0px;" value = "" />*@
    </td>
    <td>
          @Html.TextBoxFor(model => model.Quantity)
            @*<input type = "text" style="border:0px;" value = "" />*@
    </td>    
  </tr>
</table>