授权属性和模态对话框

时间:2012-02-03 10:14:29

标签: asp.net-mvc

当用户点击需要验证的操作时,我想要显示模态窗口。 我看到了这个问题和答案: ASP.NET MVC Authorize Attribute to launch a modal?

我从答案中得到PopupAuthorizeAttribute并在Site.Master文件中写道:

<% if((bool)(ViewData["OpenAuthorizationPopup"] ?? true)) { %>
<script type="text/javascript">
alert("Login needed")</script> **for test
<% } %>

仅在加载页面时显示该消息。但是当我点击一个动作(使用PopupAuthorize)时,无论如何都会动作。

1 个答案:

答案 0 :(得分:0)

您可能希望在自定义override属性上PopupAuthorize OnAuthorization(),并且您可以将其重定向到任何可以返回所需ActionResultJsonResult例如,您可以弹出一个模态。

public override void OnAuthorization(AuthorizationContext filterContext)
{
    UrlHelper urlHelper = new UrlHelper(filterContext.RequestContext);
    filterContext.Result = new RedirectResult(urlHelper.Action("Denied", "Access"));
}