【发布时间】:2015-10-29 18:32:30
【问题描述】:
我有两个表单,每个表单都包含自己的视图
@Html.ValidationSummary()
当页面加载时,查询字符串参数被检查,如果存在我调用:
ModelState.AddModelError("", "Querystring error");
但是,即使我在表单模型中指定了属性,这也会导致错误消息同时出现在 @Html.ValidationSummary() 中。
我有一个解决方法是在表单的模型中有一个单独的错误消息属性并填充它,然后如果它存在于标签中则显示它,但想知道是否可以指定一个单独的 @Html.ValidationSummary()在允许我使用ModelState.AddModelError的表格内?
【问题讨论】:
-
ValidationSummary是每个模型,而不是每个 HTML 表单。如果您实际上在页面上有两个模型和两个验证摘要,请考虑使用部分视图。 -
为了更好地理解你能否在 dotnetfiddle.net 中解释你的场景
-
视图有一个模型,该模型被拆分为包含两个类,每个类都包含每个表单的属性。在这种情况下,也许部分视图是要走的路,我会看看,谢谢。
-
好吧,我仍然理解我刚刚创建了一个小提琴..dotnetfiddle.net/GoMMhy,这是你所期待的吗?
-
@GSerg 在使用局部视图时,我如何确保对
ModelState.AddModelError的调用仅影响其中一个模型?当页面加载时,它会检查查询字符串,如果不正确,则调用ModelState.AddModelError,然后返回传入包含 2 个类的模型的视图,即每个表单的模型。目前我不确定使用局部视图如何解决我的问题。
标签: c# asp.net asp.net-mvc