将数组值从EditorTemplates传递到Controller

时间:2016-06-10 15:55:49

标签: javascript jquery ajax asp.net-mvc

有没有办法通过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,所以这些值不会在控制器方法的参数中填充。

收集所有这些值并将其传递给控制器​​的最佳方法是什么?

感谢。

0 个答案:

没有答案