繁体   English   中英

Asp.Net Mvc-渲染部分视图-管理错误

[英]Asp.Net Mvc - Render partial view - Manage errors

我用以下代码获得了一个aspx页面调用ListArticles:

<% Html.RenderPartial("Create", new Models.Article()); %>

创建是局部视图(Create.ascx)。

在我的控制器中,我得到了这样的东西:

if (!ModelState.IsValid) { 
     return View();
}

因此问题在于,由return View();生成的return View(); 无法呈现出良好的视野。 它应该呈现ListArticles视图,同时在“创建”局部视图中突出显示错误,但仅显示Create.ascx视图。

有办法解决吗?

对于这种情况,我建议您在View中嵌入一个表单,该表单需要发布并显示使用Ajax.BeginForm而不是部分视图的错误。 局部视图更适合显示方案。

您确定已提供所有代码吗?

在控制器中,您正在返回视图,但未将模型传递给它。

所以您需要Return View(Articles)或类似的东西。 如果出错,您仍然需要返回最初用于渲染视图的集合或模型。

您可能将操作名称命名为“ Create”,这就是仅显示Create.ascx视图的原因。 尝试改写以下代码

if (!ModelState.IsValid) { 
     return View("ListArticles");
}

您应该在Create.ascx中具有Html.ValidationMessage()以查看验证错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM