2016-02-27 120 views
0

我試圖得到returnURL,但可能我錯過了一些東西。該webconfig是:LogIn.cshtml的返回url爲null,如何得到它

<authentication mode="Forms"> 
    <forms loginUrl="~/UserAccount/Login" timeout="2880" /> 
</authentication> 
<authorization> 
    <allow users="?" /> 
</authorization> 

部分是:登錄方法的

@model Models.UserModel 

@{ 
// ViewBag.Title = "Home Page"; 
} 
@using (Html.BeginForm("LogIn", "UserAccount", new { ReturnUrl = Request.QueryString["ReturnUrl"] }, FormMethod.Post)) 
{ 
    <div> 
     <table> 

和部分:

[HttpGet] 
    public ActionResult LogIn(string ReturnUrl) 
    { 
     ViewBag.ReturnUrl = ReturnUrl; 
     var model = new UserModel(); 
     return View(model); 
    } 


    [HttpPost] 
    public ActionResult LogIn(UserModel model, string returnUrl) 
    {    
     if (!ModelState.IsValid) 

我還以爲是我必須做的一切將returnURL獲取到LogIn方法,但不起作用。我做錯了什麼? 謝謝。

+0

ReturnUrl將爲空,您將間接訪問「LogIn」頁面。 – romanoza

回答

0

我不知道,自授權屬性起着進程,具有重要的作用,所以我作出改變:

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) 
    { 

     filterContext.Result = new System.Web.Mvc.RedirectResult("/UserAccount/LogIn/?ReturnUrl=" + filterContext.HttpContext.Request.Url.AbsolutePath); 

,現在它的工作。

相關問題