2013-08-16 24 views
0

在下面的代碼中,returnUrl傳遞給LogOn Action。 其中我應該聲明它,然後將它傳遞給LogOn Action?什麼是價值?如何聲明returnUrl並將值傳給

 [HttpGet] 
    public ActionResult LogOn(string returnUrl) 
    { 
     if (User.Identity.IsAuthenticated) //remember me 
     { 
      if (shouldRedirect(returnUrl)) 
      { 
       return Redirect(returnUrl); 
      } 
      return Redirect(FormsAuthentication.DefaultUrl); 
     } 

     return View(); // show the login page 

並且在下面的第10行中的「Url」未定義。

  [HttpPost] 
     public ActionResult LogOn(LogOnModel model, string returnUrl) 
     { 
     if (ModelState.IsValid) 
     { 
     if (Membership.ValidateUser(model.UserName, model.Password)) 
     { 
     MigrateShoppingCart(model.UserName); 
     FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
if (**Url**.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") 
     && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) 
     { 
     return Redirect(returnUrl); 
     } 
     else 
     { 
return RedirectToAction("Index", "Home"); 
    } 
    } 
    else 
    { 
    ModelState.AddModelError("", "The user name or password provided is incorrect."); 
+0

我的頁面上進行重定向的方法(訪問一個頁面)你的問題有點困惑。你問如何將一個returnUrl傳遞給LogOn操作?如果是這樣,您是否詢問GET或POST的操作? – asymptoticFault

+0

兩者。我不知道我應該在哪裏使用它。並且我應該在其中填充它 – niknaz

回答

0

在控制器上添加using System.Web.Mvc

你也應該參考這個DLL並增加其命名空間到web.config

+0

但我的控制器中有System.Web.Mvc,而web.config中有命名空間。 – niknaz

+0

@niknaz - 「undefined」是什麼意思?是否有任何錯誤,警告等? – AminSaghi

+0

它表示名稱'Url'在當前上下文中不存在。我應該申報嗎? – niknaz

0

你不應該把它聲明anythere。這是不必要的參數,當你直接調用方法LogOn時,你不需要它。只需編寫("LogOn", "Account")而不需要returnUrl

正如你可以從它的名字returnUrl看到的意思Url那裏用戶將被重定向回來,如果autorization將成功。因此,如果未註冊的用戶tryed調用它需要註冊,他將首先被重定向到LogOn頁面,成功後autorization他將他要介紹瀏覽(returnUrl

+0

所以我應該只在HttpPost?它是如何填充的?我的意思是我在哪裏填寫用戶想要訪問的網頁的Url的returnUrl?我的意思是我如何保持他的目的地? – niknaz

+0

@niknaz也得到方法。你不需要填寫它。它已由會員提供商完成。正如我已經寫過的,當用戶被重定向到LogOn時,框架會自動添加returnUrl。 –

+0

@niknaz在這裏,我只是找到simmular的討論。也許它也會幫助你。 http://stackoverflow.com/questions/3634515/asp-net-mvc-membership-who-should-provide-returnurl-to-the-logon-method –

相關問題