1

ドロップダウン リストと多数の ASP.NET テキスト ボックス/ラベルを含む ASP.NET Web アプリがあります。ユーザーがドロップダウンリストから特定のアイテムを選択すると、ラベルのテキストが変更され、一部は jquery を使用して非表示になります。ただし、ボタンをクリックすると、ページが最初にロードされたときと同じようにコントロールが変更されます。

提案してください

  1. 新しいラベル名などを保存するにはどうすればよいですか?
  2. 変更イベントのドロップダウンリスト用に書いたのと同じjqueryコードをドキュメントロードイベントにも配置する必要がありますか?
  3. 非表示フィールドを使用して値を格納する必要がありますか?
4

2 に答える 2

0

1: 新しいラベル名などを保存するにはどうすればよいですか?

はい、

隠しフィールドを使用して保存できます。

2: 変更イベントのドロップダウンリスト用に書いたのと同じ jquery コードを、ドキュメントの読み込みイベントにも配置する必要がありますか?

いいえ、

page_load アクセスの隠しフィールドで、値を抽出して使用します。

3: 非表示フィールドを使用して値を格納する必要がありますか?

はい、

隠しフィールドを使用して、jQuery を使用して GUI コントロールで行った変更を保存できます。runat サーバーにすることで、その隠しフィールド サーバーにアクセスできるようにします。サーバー側で、ポストバック アクセスを非表示フィールドに取得したら、値を抽出してそれぞれのコントロールに割り当てます。この投稿で、それがどのように機能するかを確認できます。

于 2013-03-28T09:01:09.573 に答える
0

ご存知かもしれませんが、送信タイプの場合はボタンをクリックすると、サーバーにポストバックされます。HTTP はステートレスであるため、ラベルのテキストと値を再度生成するのはユーザーの責任です。一般に、ASP.NET ビューステートは入力テキストに対してはこれを行いますが、ラベルに対しては自分で行う必要があります。このような解決策を提案できます

1)ドロップダウンの選択された値に基づいてラベルと非表示フィールドの値を変更するロジックを持つjavascriptメソッドがあります

     function MyFunction ( ddlSelectedValue)
     {
      if(ddlSelectedValue == "1")
       {
           $("#LABELID").html('YOUR VALUE');
           // rest other logics
       }
     }

2) ASP.NET ビューステートは、ボタンのクリック後にドロップダウンの状態を保持するのに役立ちます。この jquery スクリプトをページ上部に追加します。

      $(document).ready(function(){
       var ddlSelectedValue = $("#DDLID").val();
       MyFunction(ddlSelectedValue);

      });

3) ドロップダウンの onchange にもポイント 1 メソッドを追加します。

4) 非表示フィールドの使用は OK です。非表示フィールドはサーバー側で使用する際の要件を満たすため、ポストバックされるからです。

于 2013-03-28T10:30:53.457 に答える