Vin*_*mar 7 c# model-view-controller asp.net-mvc c#-4.0 asp.net-mvc-3
我在将模型绑定到MVC中的列表时遇到问题.我的页面具有动态添加和删除文本框的功能.我的页面HTML将是
<form id="prdt">
<div id="div_0"> <input type="text" name="products[0].Name" value="Coffee"/><button id="0" onclick="return DeleteLocation(this.id)">Delete</button></div>
<div id="div_1"> <input type="text" name="products[1].Name" value="Tea" /><button id="1" onclick="return DeleteLocation(this.id)">Delete</button></div>
<div id="div_2"> <input type="text" name="products[2].Name" value="Cola" /><button id="2" onclick="return DeleteLocation(this.id)">Delete</button></div>
<div id="div_3"> <input type="text" name="products[3].Name" value="Pepsi" /><button id="3" onclick="return DeleteLocation(this.id)">Delete</button></div>
</form>
Run Code Online (Sandbox Code Playgroud)
下面是删除文本框的代码
<script type="text/javascript">
function DeleteLocation(id) {
$("#div_" + id).remove();
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是当我删除"可乐"文本框并做一个ajax帖子时,我的列表中只有咖啡和茶(Controller Action Post).即列表中省略了最后一个
同样,当我删除"茶"文本框并做一个ajax帖子时,我只能获得咖啡.即列表中排除了其他三个值.
我认为列表与List索引绑定.是否有任何方法可以获取所有值,即使其中的任何项目被删除.
可以通过添加以下products.Index一个索引的值命名的特殊字段来完成.您需要为每个新索引重复此操作:
<form id="prdt">
<div id="div_0">
<input type="hidden" name="products.Index" value="0" />
<input type="text" name="products[0].Name" value="Coffee"/>
<button id="0" onclick="return DeleteLocation(this.id)">Delete</button>
</div>
<div id="div_1">
<input type="hidden" name="products.Index" value="1" />
<input type="text" name="products[1].Name" value="Tea" />
<button id="1" onclick="return DeleteLocation(this.id)">Delete</button>
</div>
<div id="div_2">
<input type="hidden" name="products.Index" value="2" />
<input type="text" name="products[2].Name" value="Cola" />
<button id="2" onclick="return DeleteLocation(this.id)">Delete</button>
</div>
<div id="div_3">
<input type="hidden" name="products.Index" value="3" />
<input type="text" name="products[3].Name" value="Pepsi" />
<button id="3" onclick="return DeleteLocation(this.id)">Delete</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
您可以在本文的 "非顺序指数"部分找到更多信息
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |