0

嗨,我正在研究一个解决方案,其中我有两个或多个视图,它们使用相同的模型来显示、编辑和创建。

我研究了部分视图,因为我认为我可以在所有视图中重用大部分视图。

现在我的问题在于我在父视图中组合了多个局部视图,并希望确保我从所有局部视图中获取回发数据到父视图,以便我可以提交或更改底层模型。

这就是我所说的部分:

@using (@Html.BeginForm())
{
     @Html.Partial("Person",Model.PersonDetails)
     @Html.Partial("Employment", Model)

     @Html.Action("Save", "Employee")
     @Html.Action("Create", "Employee")
     @Html.Action("Cancel", "Employee")
}

现在各个Partials包含很多editorfor dropdownlistfor labelfor等等。我的问题是这是正确的重用方法,还是有更好、更安全的方法,因为我已经阅读并听说很难甚至不可能获得

编辑:由于一些不相关的问题,我一直在进一步工作,我已将操作更改为如下输入:

  <input type="submit" value="Gem" name="submitType" />
<input type="button" value="Anullere" onclick="location.href='@Url.Action("Cancel", "Employee")'" />
<input type="submit" value="Send" name="submitType" />

编辑:自从上次我意识到我的发送按钮不会将数据作为发布数据发送后,我添加了另一个更改,因此我将其更改为提交按钮。并为我的两个提交按钮命名。

4

1 回答 1

0

当然,您可以从部分视图收集数据并将它们作为回发数据发送到对应于父视图的操作。在您的情况下,您必须确保所有模型字段都包含在您要提交的主表单中。当触发提交时,您的输入/选择/文本区域字段中的所有值都将被序列化并附加到请求中,并且在服务器端,所有这些数据都将映射到与您的操作相对应的模型/操作参数。

于 2012-09-05T08:31:50.680 回答