2012-02-01 39 views
1

我有結帳形式的成員資格提供,可以讓用戶檢查出有報價,當他們成功登錄 這是我行動的一部分。會話用戶不能註冊使用asp.net mvc的C#

[Authorize] 
    public JsonResult ConfirmCheckout(string id) 
    { 
     ....... 
    } 

這是我LogonCustomer行動:

[HttpPost] 
    public ActionResult LogOnCustomer(LogOnModel model, string returnUrl, FormCollection frm) 
    { 
     if (ModelState.IsValid) 
     { 
      if (MembershipService.ValidateCustomer(model.UserName, model.Password)) 
      { 
       this.AuthCustomer = MembershipService.AuthCustomer; 
       if (!String.IsNullOrEmpty(returnUrl)) 
       { 
        return Redirect(returnUrl); 
       } 
       else 
       { 
        //tesing whether the password of the user is number 
        if (HelperClass.IsStrongPassword(model.Password) == false) 
        { 
         return Redirect(@"~/Account/ChangeDefaultPassword?"+model.UserName); 

        }else{ 
         FormsService.SignIn(model.UserName, model.RememberMe); 
         return RedirectToAction("RedirectPage", "Account"); 
        } 
       } 
      } 
     } 

當用戶點擊鏈接/Quotation/Checkout/,用戶必須通過有效的用戶名和密碼進行登錄。 問題:當用戶填寫有效的用戶名和有效密碼時,他們仍然在登錄表單上,而不是轉到'/ Quotation/Checkout'。

任何人都可以爲我解決這個問題?謝謝你,等待你的迴應。

回答

1

這是因爲您需要將您的returnUrl填充到用戶點擊的ActionLink()中。

例如:

@Html.ActionLink("Log On", "LogOnCustomer", "YourControllerName", new { returnUrl = Request.Url }, null) 
+0

這是我已經嘗試了'<%字符串checkouturl = Url.Action( 「結帳」, 「報價」,新的{RETURNURL = Request.Url}); %> Check-out '但它仍然不起作用。 – titi 2012-02-01 04:03:48

+0

@titi看我的編輯。 – 2012-02-01 04:05:54

+0

我試過了,但是登錄後,它重定向到我把這個鏈接的頁面。 – titi 2012-02-01 04:14:52