2017-07-04 12 views
0

MVCでユーザーのログイン確認を確認しようとしています。ポップアップを使って、ログイン用に1つ、登録用に2つのフォームを表示しました。私はコントローラに当たっても、ユーザ入力(ユーザ名&パスワード)のオブジェクト値またはテキストボックス値を取得できません。オブジェクト値またはフォームコレクション値が取得されない

 [HttpPost] 
    public ActionResult CheckUser(UserInfo obj) 
    { 

     int res = udaObj.CheckUser(obj.UserName, obj.Password); 
     if (res >= 1) 
     { 
      return RedirectToAction("Appointment", "Home"); 
     } 
     else 
     { 
      //For testing purpose 
      return RedirectToAction("Appointment", "Home"); 
     } 

    } 

次のように私のCSHTMLがある:

    @using (Html.BeginForm("RegisterUser", "Home", FormMethod.Post, new { id = "regForm" })) 
       { 

        <div class="tab-pane fade" id="signup"> 
         <fieldset> 
          <!-- Sign Up Form --> 
          <!-- Text input--> 
          <div class="control-group"> 
           <label class="control-label" for="Email">Email:</label> 
           <div class="controls"> 
            @Html.TextBoxFor(x => x.Email, new { @class = "form-control input-large", @placeholder = "[email protected]", @required = "" }) 
           </div> 
          </div> 

          <!-- Text input--> 
          <div class="control-group"> 
           <label class="control-label" for="userid">Alias:</label> 
           <div class="controls"> 
            @Html.TextBoxFor(x => x.UserName, new { @class = "form-control input-large", @placeholder = "[email protected]", @required = "" }) 
           </div> 
          </div> 

          <!-- Password input--> 
          <div class="control-group"> 
           <label class="control-label" for="password">Password:</label> 
           <div class="controls"> 
            @Html.TextBoxFor(x => x.Password, new { @class = "form-control input-large", @placeholder = "********", @required = "", @type = "password" }) 

            <em>1-8 Characters</em> 
           </div> 
          </div> 

          <!-- Text input--> 
          <div class="control-group"> 
           <label class="control-label" for="reenterpassword">Re-Enter Password:</label> 
           <div class="controls"> 
            <input id="reenterpassword" class="form-control" name="reenterpassword" type="password" placeholder="********" class="input-large" required=""> 
           </div> 
          </div> 



          <!-- Button --> 
          <div class="control-group"> 
           <label class="control-label" for="confirmsignup"></label> 
           <div class="controls"> 
            <button id="btnconfirmsignup" type="submit" name="signin" class="btn btn-success">Sign Up</button> 
            @* <button id="btnsignin" type="submit" name="signin" class="btn btn-success">Sign In</button>*@ 

           </div> 
          </div> 
         </fieldset> 
        </div> 

       } 

       @using (Html.BeginForm("CheckUser", "Home", FormMethod.Post, new { id = "loginForm" })) 
       { 
        <div class="tab-pane fade active in" id="signin"> 
         <fieldset> 
          <!-- Sign In Form --> 
          <!-- Text input--> 
          <div class="control-group"> 
           <label class="control-label" for="userid">Alias:</label> 
           <div class="controls"> 
            @* <input required="" id="userid" name="userid" type="text" class="form-control" placeholder="JoeSixpack" class="input-medium" required="">*@ 
            @Html.TextBoxFor(x => x.UserName, new { @class = "form-control input-large", @placeholder = "[email protected]", @required = "" }) 
           </div> 
          </div> 

          <!-- Password input--> 
          <div class="control-group"> 
           <label class="control-label" for="passwordinput">Password:</label> 
           <div class="controls"> 
            @*<input required="" id="passwordinput" name="passwordinput" class="form-control" type="password" placeholder="********" class="input-medium">*@ 
            @Html.TextBoxFor(x => x.Password, new { @class = "form-control input-large", @placeholder = "********", @required = "", @type = "password" }) 
           </div> 
          </div> 

          <!-- Multiple Checkboxes (inline) --> 
          <div class="control-group"> 
           <label class="control-label" for="rememberme"></label> 
           <div class="controls"> 
            <label class="checkbox inline" for="rememberme-0"> 
             <input type="checkbox" name="rememberme" id="rememberme-0" value="Remember me" style="margin-left: 0px"> 
             Remember me 
            </label> 
           </div> 
          </div> 

          <div class="control-group"> 
           <label class="control-label" for="confirmsignup"></label> 
           <div class="controls"> 
            <button id="btnsignin" type="submit" name="signin" class="btn btn-success">Sign In</button> 
            @* <button id="btnsignin" type="submit" name="signin" class="btn btn-success">Sign In</button>*@ 

           </div> 
          </div> 
         </fieldset> 
        </div> 
       } 

UserInfo.cs

public class UserInfo 
{ 


    public int UserId { get; set; } 
    public string UserName { get; set; } 
    public string Password { get; set; } 
    public bool Gender { get; set; } 
    public DateTime? Dob { get; set; } 
    public string PhNumber { get; set; } 
    public string ImagePath { get; set; } 
    public DateTime? RegDate { get; set; } 
    public string Email { get; set; } 
} 
+0

を助けている場合、私に教えてくださいする必要がありますあなたの場合は

はまた、あなたのモデルを投稿することができますか? 'UserInfo.cs' – L01NL

+0

ブラウザで開発者ツールバーを使用している場合、フォームが投稿されたことを確認できますか? – L01NL

答えて

0

私はあなたのコードが間違って何も表示されません。

しかし、私が推測できることは、コントローラがコントローラの命名規則に従わないことです。あなたのコントローラ名には "Controller"というサフィックスが必要です。それは

public class HomeController : Controller 
{ 
.... 
} 

ことが

関連する問題