将ViewData \ ModelState导出到子操作

kid*_*man 4 asp.net-mvc asp.net-mvc-3

正如主题所说,这是一个坏主意吗?如果是这样,为什么?

当前,如果要从@ Html.Acion内部呈现某些输入字段,则当@ Html.Action涉及到上下文时,由于清除了ModelState,因此不会向用户显示验证错误。

那么,围绕它的最佳模式是什么?

gus*_*.dr 5

您可以通过ControllerContext.ParentActionViewContextViewContext.ParentActionViewContext在此处查看详细信息)访问父上下文,但我认为有更好的解决方案。

当您不想用独立于当前控制器动作和视图的可用数据(例如,用户欢迎标签,导航栏等)污染所有视图模型时,子动作是一个不错的选择。

对于其他重用场景(例如公共输入字段),部分视图是一种更好的方法。

但是,如果您提供有关当前方案的更多详细信息,我会尝试提出更具体的解决方案。