1

formbuilder を使用して拡張機能を作成しました。今、私は自分の見解でそれを使用しました。私の見解は次のようになります:

@using (Html.BeginForm("addDataInd", "CustInformations", FormMethod.Post))
{
  <fieldset class="field">
    <legend>Addresses</legend>
      <table>
        <tr>                            
          @Html.EditorFor(model => model.addresses) 
        </tr>
      </table>           
  </fieldset> 
}

どこ

@Html.EditorFor(model=>model.addresses)

次のように私の EditorTemplate を呼び出します。

<td>
@Html.hSearch("txtSearch", "", "lblsrch", "Search Text: ", "Search", "Fetch", "LookUp", new { script = "Select Aid, FullAreaName from fGetAreaTB()" }, null)
</td>

プログラムを実行すると、ページは次のようになります

ここに画像の説明を入力

エラーを知るためにfire bugを使用しました。私が見つけたのは、最初の上部の画像 (つまり、住所) に対して生成されたコードはフォームを作成しないが、他の 2 つの画像ではフォームを作成するということだけでした。そのため、最初の検索ボタンをクリックしても機能しませんが、2 番目と 3 番目のボタンをクリックするとうまく機能します。

プログラムを実行するときに、すべてのボタンがフォームにある必要があります。

4

1 に答える 1

2

HTMLフォームをネストすることはできません。このため、複数のフォームを使用して、それらをテンプレート内に配置する必要があります。このような:

<fieldset class="field">
    <legend>Addresses</legend>
    <table>
        <tr>                            
            @Html.EditorFor(model => model.addresses) 
        </tr>
    </table>           
</fieldset> 

エディターテンプレート内:

@model Address
<td>
    @using (Html.BeginForm("addDataInd", "CustInformations", FormMethod.Post))
    {
        @Html.hSearch("txtSearch", "", "lblsrch", "Search Text: ", "Search", "Fetch", "LookUp", new { script = "Select Aid, FullAreaName from fGetAreaTB()" }, null)
    }
</td>
于 2012-08-23T06:09:19.740 に答える