有没有办法通过ajax调用将EditorTemplate值传递回控制器?我有一个表单,在视图中显示可重复的项目。
在主视图中有一行:
@Html.EditorFor(model => model.Edits)
model.Edits是IEnumerable,我有一个名为EditViewModel.cshtml的EditorTemplate,它显示了X个EditViewModel对象。
接下来,我想通过GET ajax调用将所有这些Edits传回控制器。为什么ajax而不是回帖?我想使用model.Edits中的值来动态生成返回到同一视图上的文本框的数据。
简而言之,我只想在model.Edits中定义更新的DOM项,并通过控制器方法传递它们。
这就是我在HTML源代码中所拥有的:
<fieldset class="the-fieldset">
<legend class="the-legend">
New <strong>Unit A</strong> record
</legend>
<input id="Edits_0__Type" name="Edits[0].Type" type="text" value="" />
<input id="Edits_0__Days" name="Edits[0].Days" type="text" value="" />
</fieldset>
<fieldset class="the-fieldset">
<legend class="the-legend">
New <strong>Unit B</strong> record
</legend>
<input id="Edits_1__Type" name="Edits[1].Type" type="text" value="" />
<input id="Edits_1__Days" name="Edits[1].Days" type="text" value="" />
</fieldset>
<fieldset class="the-fieldset">
<legend class="the-legend">
New <strong>Unit C</strong> record
</legend>
<input id="Edits_2__Type" name="Edits[2].Type" type="text" value="" />
<input id="Edits_2__Days" name="Edits[2].Days" type="text" value="" />
</fieldset>
当然通过ajax,没有PostBack,所以这些值不会在控制器方法的参数中填充。
收集所有这些值并将其传递给控制器的最佳方法是什么?
感谢。