我正在使用Umbraco 7.2.4.
我添加了发布事件的功能。
当我的代码中存在异常时,如何引发自定义错误消息,并将其显示给用户?
我尝试了以下代码:
var clientTool = new Umbraco.Web.UI.Pages.ClientTools((System.Web.UI.Page)HttpContext.Current.CurrentHandler);
clientTool.ShowSpeechBubble(SpeechBubbleIcon.Error, "Choose first a content page", "Page has not been added.");
但它会引发以下异常:
无法将类型为"System.Web.Http.WebHost.HttpControllerHandler"的对象强制转换为类型"System.Web.UI.Page"
我在这里做错了什么?或者,有没有另一种方法可以引发自定义错误?
您需要在控制器或 null 检查(如果 a == null)中捕获错误,如果确实发生,则返回显示错误的视图。喜欢:
if(myValue == null)
{
return View("~/Views/ErrorView.cshtml", model);
}
或
try{
//try do something
}
catch(Exception e){
//log your exception
return View("~/Views/ErrorView.cshtml", model); // Model is Umbraco.Web.Models.RenderModel
}
还要检查 MVC 中的 TempData。