我创建了一个自定义AuthorizeAttribute
,如果用户无权查看所请求的控制器,则会将其发送到错误页面。
重定向它们的代码如下:
Protected Overrides Sub HandleUnauthorizedRequest(filterContext As AuthorizationContext)
Dim result = New ViewResult()
result.ViewName = "Error"
result.ViewBag.ErrorMessage = "oops, you are not allowed"
filterContext.Result = result
End Sub
它会将它们重定向到~/Shared/Error.vbhtml
,就像它应该的那样;但是,该页面仅加载我的布局并包含标题"Error"
,但不加载错误页面的任何内容。
错误页面内容如下:
@ModelType System.Web.Mvc.HandleErrorInfo
@Code
ViewData("Title") = "Error"
End Code
@ViewBag.ErrorMessage
<h2>
Sorry, an error occurred while processing your request.
</h2>
为什么它不加载“对不起,发生错误...... ”消息,我该如何让它这样做?谢谢你。