asp.net-mvc - 处理 MVC 子操作中的错误

标签 asp.net-mvc asp.net-mvc-3 razor partial-views child-actions

我的错误处理收集(有些是手动的,有些是自动的) Controller 执行期间产生的错误。然后我有一个部分 View ,可以呈现错误消息。 我将错误消息存储在 ViewData 中(如果我在 RedirectResult 中响应,则将它们传输到 TempData)。

问题是:如果子操作导致错误,它将不会显示,因为它们(至少是页面下方的操作)是在渲染部分 View 后执行的。 p>

现在我唯一的、有点绝望的想法是将消息渲染到布局页面底部的 javascript 中,并让 javascript 更新错误显示框。但它闻起来很糟糕,我不需要为此编写客户端代码。

在完成所有其他操作之后,有没有办法让部分 View “延迟渲染”?

最佳答案

您可以尝试使用 Html.Action 并将结果存储在每个子操作的变量中。

完成后,您可以为“错误面板”调用 Html.RenderPartial

@{
    var result = Html.Action("ChildAction"); 
}

@Html.Partial("ErrorMessages")

@result

然后您可以通过放置变量而不是调用操作来恢复常规布局。

关于asp.net-mvc - 处理 MVC 子操作中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275101/

相关文章:

asp.net-mvc - Entity Framework 的状态模式

c# - 两个日期之间有月份差异的Linq查询

c# - 如何为 Razor View 创建默认的 AjaxOptions?

razor - 确保将所有* .cshtml文件设置为 “Content”进行构建操作

javascript - 如何自动更新url中js文件的版本

asp.net-mvc - 在 asp.net MVC 非侵入性验证中验证仅时间输入

javascript - 将两个对象传递给服务器 AJAX

c# - 在 Razor 中使用静态变量

c# - 如何从 mvc 下拉列表中获取选定值作为 C# 中的操作链接 ID

c# - 仅显示日期 MVC