Asp.net mvc 4 填充视图模型列表对象中的值
我有一个问题,无法将视图中用户填写的值获取到ViewModel中定义的列表中 我认为某些字段将手动填写,如下所示: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&
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,以获取myItems
列表中要保存在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>