2011-12-21 10 views
0

ここでは取引があります。私は単純なログイン画面(別の領域)を持っています。メニューでログインを選択すると、ログイン画面が完全に読み込まれますが、単純にビューを読み込むと妥当性検査(目立たないjQuery)が実行されます。ビューがロードされる前に検証が行われます

ここのページでログイン用のリンクです:

<li> <%: Html.ActionLink("Log In", "Index", "Login", new { area = "AdminArea" }, null)%></li> 

これは、ログインビューです:

<%= Html.RenderScript("MicrosoftMvcJQueryValidation")%> 
<%= Html.RenderScript("json2")%> 
<%= Html.RenderScript("loginForm")%> 
<% Html.EnableClientValidation(); %> 

<% using (Html.BeginForm("Index", "Login", FormMethod.Post, new { @id = "signin" })) 
{ 
    ViewContext.FormContext.ValidationSummaryId = "valLoginContainer"; %> 
<fieldset> 
<div class="row"> 
    <span class="label"> 
     <label for="Password">&nbsp;</label> 
    </span> 
    <table style="width" border="none;"> 
     <tr> 
      <td> 
       <%= Html.JQueryValidationSummary("Please fix the following error(s):", new Dictionary<string, object> { { "id", "valLoginContainer" } })%> 
      </td> 
     </tr> 
    </table> 
</div> 
<legend>Admin Login</legend> 
<div class="row"> 
    <span class="label"> 
     <label for="Username">Username:</label> 
    </span> 
    <%= Html.TextBoxFor(m=> m.Username, new { @class = "inputbox" })%><%= Html.ValidationMessageFor(m => m.Username, " *")%> 
</div> 
<div class="row"> 
    <span class="label"> 
     <label for="Password">Password:</label> 
    </span> 
    <%= Html.TextBoxFor(m=> m.Password, new { @class = "inputbox" })%><%= Html.ValidationMessageFor(m => m.Password, " *")%> 
</div> 
<div class="row"> 
    <span class="label"> 
     <label for="Password">&nbsp;</label> 
    </span><a href="#" id="forgot_password_link" title="Click here to reset your password."> Forgot password?</a> 
</div> 
<div class="row"> 
    <span class="label"> 
     <label for="Password">&nbsp;</label> 
    </span> 
    <a href="#" id="forgot_username_link" title="Fogot your login name? We can help with that"> Forgot username?</a> 
</div> 
    <div class="row"> 
    <span class="label"> 
     <label for="Password">&nbsp;</label> 
    </span> 
    <input type="submit" id="action" value="Submit &raquo;" class="formButtons" /> 
</div> 
</fieldset> 
<%}%> 

誰でも検証が時にビューのロードを実行している理由を任意のアイデアがありますか?

答えて

0

この問題は解決されました。私はJSファイル(私が気づいていなかった)がなくなっていました。

public class LoginViewModel 
{ 
    [Required(ErrorMessage = "Username/email is required")] 
    public string Username { get; set; } 

    [Required(ErrorMessage = "Password is required")] 
    public string Password { get; set; } 

    public bool RememberMe { get; set; } 
} 

ありがとう:また、LoginController.csに私は

public virtual ActionResult Index() 
{ 
    return View(new LoginViewModel()); 
} 

LoginViewModelはこのようになりますすべての「うまくだったこれまでそれを変更したら

public virtual ActionResult Index() 
{ 
    return View(); 
} 

間違っていた、このラインを持っていましたそれを見たすべての人に。

関連する問題