2017-07-25 48 views
0

UPDATE:時將數據發送到控制器,並從控制器的數據我不知道爲什麼顯示HTML源代碼,爲什麼回到基本的HTML源代碼而不是查看時控制器返回查看

這是我的看法對於登錄

<section id="form"> 
<!--form--> 
<div class="container"> 
    <div class="row"> 
     <div class="col-sm-4 col-sm-offset-1"> 
      @{ Html.RenderPartial("_Signup", new ViewDataDictionary());} 
     </div> 
     <div class="col-sm-1"> 
      <h2 class="or">or</h2> 
     </div> 
     <div class="col-sm-4"> 
      @Html.Partial("_login") 
     </div> 
    </div> 
</div> 

當你看到兩個部分來看,一個用於登錄,對註冊在一個視圖中, 如果用戶不registere d或登錄部分,並依序按上登錄按鈕輸入錯誤的密碼,從服務器返回時,登錄頁面的瀏覽器顯示基本的HTML代碼,在波紋管有我的控制器和我的partialview

<section id="loginForm"> 
    @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 
    { 
     @Html.AntiForgeryToken() 

     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     <div class="form-group"> 
      <div class="col-md-12"> 
       @Html.TextBoxFor(m => m.Email, new { @class = "form-control", placeholder ="Email" }) 
       @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-md-12"> 
       @Html.PasswordFor(m => m.Password, new { @class = "form-control", placeholder = "password" }) 
       @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" }) 
      </div> 
     </div> 
     <div class="form-group"> 
      @Html.LabelFor(model => model.RememberMe, htmlAttributes: new { @class = "control-label col-md-4" }) 
      <div class="col-md-8"> 
       <div class="checkbox"> 
        @Html.EditorFor(model => model.RememberMe) 
        @Html.ValidationMessageFor(model => model.RememberMe, "", new { @class = "text-danger" }) 
       </div> 
      </div> 
     </div> 

     <div class="form-group"> 
      <div class="pull-right col-md-3"> 
       <input type="submit" value="login" class="btn btn-default" style="background-color:#5d1338;color:white" /> 
      </div> 
     </div> 

    } 
</section> 

,並在我的控制

[AllowAnonymous] 
    [ValidateAntiForgeryToken] 
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) 
    { 
     if (!ModelState.IsValid) 
     { 
      return View(model); 
     } 

     // This doesn't count login failures towards account lockout 
     // To enable password failures to trigger account lockout, change to shouldLockout: true 
     var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); 
     switch (result) 
     { 
      case SignInStatus.Success: 
       MigrateShoppingCart(model.Email); 
       return RedirectToLocal(returnUrl); 
      case SignInStatus.LockedOut: 
       return View("Lockout"); 
      case SignInStatus.RequiresVerification: 
       return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); 
      case SignInStatus.Failure: 
      default: 
       ModelState.AddModelError("", "Invalid login attempt."); 
       return View("Login",model); 
     } 
    } 

回答

0

盡我所能理解,當登錄請求失敗時,您只想返回登錄html「view」。

你爲什麼不只是創建一個新的查看用於此目的和SignInStatus.Failure的情況下退貨嗎?

+0

我想:當用戶再次輸入錯誤顯示登錄頁面時,包含2個局部視圖(像以前輸入用戶名或通過時一樣)不顯示HTML頁面源, – sunny

相關問題