我使用以下代码获得了一个aspx页面调用ListArticles:
<% Html.RenderPartial("Create", new Models.Article()); %>
Create是局部视图(Create.ascx)。
在我的控制器中,我得到了类似的东西:
if (!ModelState.IsValid) {
return View();
}
所以问题是return View();
生成的视图无法呈现良好的视图。应该在创建局部视图中突出显示错误时呈现ListArticles视图,但它只显示Create.ascx视图。
有办法解决这个问题吗?
答案 0 :(得分:1)
我建议您在View中嵌入一个表单,这个表单需要发布并显示您使用Ajax.BeginForm而不是部分视图的错误。 部分视图更适合显示场景。
答案 1 :(得分:0)
您确定已提供所有代码吗?
在您的控制器中,您将返回一个视图,但不会将模型传递给它。
所以你需要返回视图(文章)或类似的东西。出错时,您仍然需要返回用于首先渲染视图的集合或模型。
答案 2 :(得分:0)
您可能将操作名称设置为“创建”,这就是它仅显示的原因 Create.ascx视图。 请尝试使用以下代码
if (!ModelState.IsValid) {
return View("ListArticles");
}
你的Create.ascx中应该有Html.ValidationMessage()来查看验证错误