我的viewmodel包含一个字符串列表:
public class Supplierviewmodel { public Supplier Supplier { get; set; } public List<string> Numbers; }
<div class="editor-label"> @Html.LabelFor(model => model.Numbers) </div> <div id="allNumbers"> @for (int i = 0; i < Model.Numbers.Count; i++) { <div class="editor-label"> @Html.TextBoxFor(m => m.Numbers[i]) </div> } </div> <div id="newNumber" style="display:none;"> <input type="text" name="Numbers[#]" style="display:block;" /> </div> <button type="button" id="addNumber" >Add</button>
这是在客户端使用jquery完成的:
var container = $('#allNumbers'); $('#addNumber').click(function () { var index = container.children().length; var clone = $('#newNumber').clone(); clone.html($(clone).html().replace(/\[#\]/g,'[' + index + ']')); container.append(clone.html()); });
我的问题是没有动态添加的字符串被发送回控制器,即使它们都被命名为“Numbers [i]”.
我在这里想念的是什么?