2012-02-03 9 views
1

ユーザが認証が必要なアクションをクリックすると、モーダルウィンドウを表示します。 私はこの質問を見て、答え: 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で)アクションをクリックすると、アクションはとにかく動作します。

答えて

0

あなたは、カスタム属性PopupAuthorize、あなたがモーダルでポップアップすることができ、たとえばActionResultまたはJsonResultを希望返すことができ、あなたのコントローラのいずれかの任意のアクションにリダイレクトすることができ、その中にoverrideOnAuthorization()する場合があります。

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