2012-12-07 67 views
0

我有一個使用FluentSecurity的MVC3應用程序中違反政策與IPolicyViolationHandler處理MVC3 IPolicyViolationHandler「訪問被拒絕!」彈出

公共類DefaultPolicyViolationHandler:IPolicyViolationHandler { 公共字符串VIEWNAME =「存取遭拒」;

public ActionResult Handle(PolicyViolationException exception) 
{ 

    if (SecurityHelper.UserIsAuthenticated()) 
    { 

     return new ViewResult { ViewName = ViewName }; 
    } 
    else 
    { 
     return new RedirectResult(LoginURL); 
    } 
} 

}

現在它會打開一個新頁面與我共享視圖存取遭拒。我的問題是我如何打開彈出窗口而不是新頁面來顯示「訪問被拒絕的信息」。謝謝

回答

0

取而代之的是RedirectResult,您可以像下圖一樣返回PartialView。

在控制器中.....

Model.Test M = new Model.Test(); 
M.Access = "Denied"; 
return PartialView("ViewName",M); 

在你看來......

@model eStorage.Models.Test 

<input type="hidden" id="hdnAccess" value ="@Model.Access" /> 

<script> 
    var Type = $("#hdnAccess").val(); 
    if(Type == "Denied") 
    { 
    //window.open code here 
    // or 
    // Use Jquery Dialog 
    } 

</script>