部分视图到完整视图

时间:2016-09-28 20:29:07

标签: c# asp.net-mvc view

我认为我需要两个模型。因此,正如我的建议,我创建了两个部分视图:Entete和ChampsFormulaireInvalidite,两者都有他们的模型。

我的索引视图呈现这两个视图:

<head>
    <title>Formulaire d'invalidité</title>
</head>

@{Html.RenderAction("Entete");}
@{Html.RenderAction("ChampsFormulaireInvalidite");}

在Entete控制器中,我有时会遇到异常。如果是这样,我希望整个页面被错误页面替换。我试过这个:

 public PartialViewResult Entete()
     {
         try{ 
             <some actions>
              return PartialView ("Entete", model)
            }
         catch(Exception){
              return PartialView ("Error")
            }
     } 

当然,由于我返回一个PartialView,只有我页面的前半部分显示错误视图,而另一半显示一个表单(ChampsFormulaireInvalidite视图)。我希望在捕获到异常时重定向到完整的错误页面。

有什么建议吗?

我尝试在我的索引方法中使用try catch但没有成功:

public ActionResult Index()
    {    
         try{
             return View("Index");   
            }
         catch(Exception){return View("Error")}
    }

1 个答案:

答案 0 :(得分:0)

感谢此视频:https://www.youtube.com/watch?v=nNEjXCSnw6w

根据建议,我在web.config中打开了customErrors:

<system.web>
 ...
    <customErrors mode="On" />
</system.web>

并在Views / Shared:

下添加了一个Error.cshtml视图
@model System.Web.Mvc.HandleErrorInfo
@{
    ViewBag.Title = "Erreur";
}
<h1 class="text-danger">Error</h1>