2012-02-03 81 views
1

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

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

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

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

回答

0

您可能希望在您的自定义PopupAuthorize属性overrideOnAuthorization(),并在其可以重定向到的,可以返回所需ActionResultJsonResult例如,你可以在一个模式弹出你的任何控制器的任何行动。

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