2016-06-27 32 views
0

私は送信ボタンをデータベースに送信するために多くのことを試しました。私はエラーが発生していません。コントローラからの1つ、ビューからの1つのテスト用の2つのエラーメッセージは、それが動作していないことを知らせるための印刷ではありません。ユーザーが送信を押すと、ユーザーが入力した新しいテキストではなく、同じボタンセット文がレンダリングされて表示されます。どのように修正するか、問題がどこにあるかはわかりません。ここで送信ボタンが送信されていますが保存しません - MVC

コードです:

コントローラー:

[HttpPost, ValidateAntiForgeryToken] 
    public ActionResult Create(TableA Statement) 
    { 
     var model = new Test.Models.Tables(); 

     using (var db = new Entities()) 

     if (ModelState.IsValid) 
     { 
      TableA tablea = new TableA(); 
      tablea.Statement = model.Statement; 
      db.TablesA.Add(tablea); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     else 
     { 
      return Content("Failed"); 
     } 

    } 

メインビュー:

<td> 
    @if (tablea.Statement != null) 
    { 
    @Html.DisplayFor(modelItem => tablea.Statement) 
    <text>|</text> 
    @Html.ActionLink("Edit", "Edit", new { id = tablea.ID }) 
     } 
      else 
      { 

      Html.RenderAction("PopUp"); 

      var model = new Test.Models.Tables(); 

      if (model.Statement != null) { 
      <text>Save Successful!</text> 
             } 
            } 
          </td> 

ポップアップ表示:

@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 


    <div class="form-horizontal"> 
     = 
     <hr /> 
     @Html.ValidationSummary(true) 

     <div class="form-group"> 
      @Html.LabelFor(model => model.Statement, new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.EditorFor(model => model.Statement) 
       @Html.ValidationMessageFor(model => model.Statement) 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-md-offset-2 col-md-10"> 
       <input type="submit" value="Save" onsubmit="Create(Statement)" class="btn btn-default"> 
</div.. etc> 
+0

あなたのRenderactionが間違って見えています: '@ Html.RenderAction(" View "、" Controller ")'また編集ビューを持っていますので、あなたはIDを受け取ったと思いますので、 'new {id = model.id}'やあなたのモデルにあるものは好きです。 – Gerry

+0

ポップアップビューは部分的に表示されていますか?、それとも部分ビューに変換することをお勧めします。コントローラでは、 'ActionResult CreatePartial()のようにすることができます。 return PartialView(ページ); } ' – Gerry

答えて

0

ポップアップ表示が部分図であるか、どのような?、私はpartiaにそれを変換することをお勧めしますLビュー、および使用しない場合は、部分のモデルは、メインビューのモデルの異なる場合は、あなたのコントローラであなたは

public ActionResult CreatePartial() 
{ 
var pages = pageRepository.Pages; 
return PartialView(pages); 
} 

およびビューの使用中

@{Html.RenderAction("Popup", "CreatePartial");} 

ような何かを行うことができます。

@Html.RenderPartial("ViewName") 
関連する問題