<input type="text" value="lxb1"> <input type="text" value="123"> <input type="text" value="lxb2"> <input type="text" value="1234"> <input type="text" value="lxb3"> <input type="text" value="12345">
<input type="hidden" value="JX"> <input type="text" value="lxb1"> <input type="text" value="123"> <input type="text" value="lxb2"> <input type="text" value="1234"> <input type="hidden" value="SZ"> <input type="text" value="lxb3"> <input type="text" value="12345"> <input type="text" value="lxb4"> <input value="123456">
其中控件的name很重要。
List: viewmodelpropertyname[index].modelpropertyname 格式。
Dictionary:key设置为viewmodelpropertyname[index].Key,Value设置为viewmodelpropertyname[index].Value
八、尽量多使用EditorFor
比如将第7点的DicTest使用EditorFor。首先需要在Shared或者Controller自身文件夹下创建EditorTemplates文件夹,然后在EditorTemplates文件夹中添加分部页。代码如下:
@using MVCDemo.Models; @model List @for (int i = 0; i < Model.Count; i++) { @Html.TextBoxFor(m => m[i].Name, new { @class = "form-control" }) @Html.TextBoxFor(m => m[i].Phone, new { @class = "form-control" }) }
调用页面设置:
List的时候
@Html.EditorFor(m => m.ListTest, "_PartialPerson", $"ListTest")
Dictionary的时候
@for (int i = 0; i < Model.DicTest.Count; i++) { string key = Model.DicTest.Keys.ElementAt(i); <input type="hidden" value="@key" /> @Html.EditorFor(m => m.DicTest[key], "_PartialPerson", $"DicTest[{i}].Value") }
生成的HTML:
<div> <input type="text" value="lxb1"> <input type="text" value="123"> <input type="text" value="lxb2"> <input type="text" value="1234"> <input type="text" value="lxb3"> <input type="text" value="12345"> </div>
<div> <input type="hidden" value="JX"> <input type="text" value="lxb1"> <input type="text" value="123"> <input type="text" value="lxb2"> <input type="text" value="1234"> <input type="hidden" value="SZ"> <input type="text" value="lxb3"> <input type="text" value="12345"> <input type="text" value="lxb4"> <input type="text" value="123456"> </div>
这样就简化了不少,也到达了重用。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章: