-1

私はテーブルを含む部分的なビューを持っており、データはそのテーブルに動的に追加されます。そのフォームの保存ボタンをクリックすると、私のコントローラメソッドが起動していません。部分ビューでHTML.BeginForm/Ajax.Beginフォームが機能しない

私の部分的な見解については、下のコードを参照してください。

<div id="cavitypartial"> 
<table id="CTable" class=" table table-bordered"> 
    <tr> 
     <th></th> 
     <th>C Name</th> 
     <th>Number of C</th> 

     @foreach (var item in Model.PLByS) 
      { 
      <th>@item.PLName (CT/sec)</th> 
      } 
     <th>Comments</th> 
    </tr> 
    @foreach (var item in Model.CByS) 
     { 
      //using (Html.BeginForm("CavityUpdate", "Cavity", FormMethod.Post, new { id = "tblCavity" })) 
      using (Ajax.BeginForm("CavityUpdate", "Cavity", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "cavitypartial" })) 
      { 


       <tr id="@item.CavityID"> 

        <td><a onclick='DeleteRow(this,@item.CavityID);'><img src='/Content/Images/trash_empty.png' class='btndelete' alt='x' /></a><a onclick='EditRow(this,@item.CavityID);'><img src='~/Content/Images/edit.png' class='btndelete' alt='x' /></a></td> 
        <td><input type="text" id="[email protected]" name="[email protected]" value="@item.CavityName" disabled /></td> 
        <td><input type="text" id="[email protected]" name="[email protected]" class="addcavity" value="@item.NumberOfParts" disabled /> <input type="hidden" id="[email protected]" name="[email protected]" /> </td> 
        @foreach (var Cavitem in Model.Cavities) 
        { 
         if (item.CavityID == Cavitem.CavityID) 
         { 
          <td><input type="text" id="[email protected](item.CavityID)[email protected](Cavitem.ProductLineID)" name="c[email protected](item.CavityID)[email protected](Cavitem.ProductLineID)" class="addcavity" value="@Cavitem.Time" disabled /></td> 
         } 

        } 
        <td><input type="text" id="[email protected]" name="[email protected]" value="@item.comments" disabled /> <input type="hidden" id="[email protected]" name="[email protected]" /> </td> 
        <td id="Savecommand"><input type="submit" id="[email protected]" value="Save" /></td> 
        <td id="Savecommand"><input type="button" id="[email protected]" onclick="cancelEditing(this,@item.CavityID);" value="Cancel" /></td> 


       </tr> 
      } 
     } 
</table> 
</div> 

は以下

<div id="cavitypartial"> 
@Html.Partial("CavityPartialView") 

</div> 

が、私はこれ以外のothherフォームを使用していますNOU部分ビューをレンダリング午前のメインページです。

以下

は、コントローラのコードです:

[HttpPost] 
    public ActionResult CavityUpdate() 
    { 
     // logic 

     } 

     return RedirectToAction("Cavity", "Cavity", new { id = siteid }); 


    } 

誰もがこの上で私を助けることができますか?

+0

ページに他のフォームがありますが、問題がある可能性があります。 – biseibutsu

+0

無効になっている送信ボタンも1つしか表示されません。どのようにフォームを提出していますか? – AshishJindal

+0

こんにちは、[編集]ボタンをクリックしている間に[クラスを介して保存]ボタンを有効にします。 –

答えて

1

最後に、私のコントローラメソッドが部分的なビューから起動しています。私がやった間違いは、divタグの中にHtml.Begin形式を置くことです。私はそれを外に動かし、BeginFormの下に全パーセルビューを配置しました。

今は問題ありません。

0

[送信]ボタンを有効にします。それから 'disabled'プロパティを削除してください。

編集: フォーム要素をテーブル行として作成することはできません。代わりに、次の構文を試してください:

<table> 
     @foreach (var item in Model.CByS) { 
     <tr> 
      <td> 
       @using(Ajax.BeginForm("CavityUpdate", "Cavity", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "cavitypartial" })){ 
        //your code 
        <table> 
         <tr> 
          <td></td> 
         </tr> 
        </table> 
       } 
      </td> 
     </tr> 
     } 
    </table> 
+0

こんにちは、編集ボタンで[送信]ボタンを有効にしています。そのため、defauultによって私は無効モードを設定しています。 –

関連する問題