Asp.net MVC中Razor常见的问题与解决方法总结(2)

<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>

这样就简化了不少,也到达了重用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpzws.html