【问题标题】:Handling Errors in MVC Child Actions处理 MVC 子操作中的错误
【发布时间】:2012-11-07 17:37:22
【问题描述】:

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

问题是:如果子操作导致错误,它将不会显示,因为它们(至少是页面下方的那些)是在呈现局部视图之后执行的。 p>

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

有没有办法让局部视图“延迟渲染”,在其他所有事情之后?

【问题讨论】:

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


    【解决方案1】:

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

    完成后,您可以致电Html.RenderPartial 获取“错误面板”。

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

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

    【讨论】:

    • 很好的答案——这对我们很有帮助。
    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    相关资源
    最近更新 更多