2017-04-21 13 views
0

これは私のcshtmlファイルです。私はここで、またはコントローラでいくつかの間違いをしていると思うが、それが何であるかはわからない!ログイン用のフォームデータを投稿できません - .NET MVC

@using (Html.BeginForm()) 
       { 
        @Html.ValidationSummary(true) 

        <div class="modal-body"> 

         <div class="form-group"> 
          <div> 
           @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" }) 
          </div> 
          <div> 
           @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } }) 
           @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" }) 
          </div> 
         </div> 
         <div class="form-group"> 
          <div> 
           @Html.LabelFor(model => model.Password, htmlAttributes: new { @class = "control-label col-md-2" }) 
          </div> 
          <div> 
           @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } }) 
           @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" }) 
          </div> 
         </div> 
        </div> 
        <div class="modal-footer"> 
         <div class="form-group"> 
          <div class="col-md-offset-2 col-md-10"> 
           <input type="submit" value="Login" class="btn btn-default" /> 
          </div> 
         </div> 
       } 

これはコントローラですが、現在は投稿されたデータを受信した後に別のページにリダイレクトしようとしています。しかし、Submit/Postをクリックした後、再びIndex()メタンを呼び出します。

public class LandController : Controller 
{ 
    // GET: Land 
    private userDBcontext db = new userDBcontext(); 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Login(User loginReq) 
    { 
     return this.RedirectToAction("Index", "Users"); 
    } 
} 
+0

あなたのモデルはあなたのカミソリのページにどのようなタイプですか? – krillgar

+0

そのa.csクラス – Pratik

+0

明らかに、データが投稿されない主な理由の1つは、不一致のプロパティがあるためです。幸いなことに誰かがあなたにHTTP動詞を見逃していることに気付いたので、あなたの問題でした。 – krillgar

答えて

1

フォームアクションを指定していないため、デフォルトで対応するページ/アクション(例:インデックス)に投稿されました。 Html.BeginForm()Html.BeginForm("Login", "Land")に置き換えて試してみてください。

詳細については、MSDNを参照してください。

関連する問題