正如主题所说,这是一个坏主意吗?如果是这样,为什么?
目前,如果您从 @Html.Acion 内部呈现一些输入字段,则验证错误不会显示给用户,因为当 @Html.Action 参与时(在其上下文中)ModelState 被清除。
那么它周围的最佳模式是什么?
最佳答案
您可以通过 ControllerContext.ParentActionViewContext
访问父上下文或 ViewContext.ParentActionViewContext
(详情 here )但我认为有更好的解决方案。
当您不想使用独立于当前 Controller 操作和 View 的可用数据(例如用户欢迎标签、导航栏等)污染所有 View 模型时,子操作是一个不错的选择。
对于其他重用场景,如常见输入字段,部分 View 是更好的方法。
但是,如果您提供有关当前情况的更多详细信息,我会尝试提出更具体的解决方案。
关于asp.net-mvc - 将 ViewData\ModelState 导出到子操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039791/