出错时返回部分视图到完整视图内的视图

本文关键字:视图 返回部 出错 | 更新日期: 2023-09-27 18:34:35

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

我在步骤的底部有这个

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

出错时返回部分视图到完整视图内的视图

就个人而言,我会在更高层次上处理错误。 可以在 web.config 文件中指定错误页。

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

如果目标是仅使页面的一部分显示错误消息,则可以创建名为"错误"的部分页面并将其保存在"视图/共享"中。 然后将您的代码更改为...

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

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