我认为我需要两个模型。因此,正如我的建议,我创建了两个部分视图: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")}
}
答案 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>