返回部分内部视图以查看错误的完整视图

时间:2014-12-17 04:15:09

标签: c# asp.net-mvc error-handling

我有一个向导,可以在每个步骤中加载部分视图。当表单生成错误时,它会加载错误页面。但是它会在局部视图中加载FULL错误页面,使其看起来像是一次加载两页。如何重定向到局部视图之外的错误页面?

我在步骤

的底部有这个
            try
            {
                return PartialView("AccountSelection", vm);
            }
            catch (Exception ex)
            {
                return View("Error");
            }
        }
        return PartialView();

2 个答案:

答案 0 :(得分:1)

就个人而言,我会处理更高级别的错误。您可以在web.config文件中指定错误页面。

<configuration>
   <system.web>
      <customErrors defaultRedirect="error.aspx" mode="RemoteOnly">
      </customErrors>
   </system.web>
</configuration>

如果目标只是让页面的一部分显示错误消息,那么您可以创建一个名为&#34;错误&#34;的部分页面。并将其保存在Views / Shared中。然后将代码更改为...

        try
        {
            return PartialView("AccountSelection", vm);
        }
        catch (Exception ex)
        {
            return PartialView("Error");
        }
    }
    return PartialView();

答案 1 :(得分:0)

使用RedirectToAction("ErrorAction","ErroController")。根据您的需要,行动可能在一个单独的控制器中或在同一个控制器中(我认为这是不对的)。您还需要自定义错误操作方法和视图,以便您可以针对不同情况传递不同的消息。