1

次のように、ページにいくつかの更新パネルがあります。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" />
  </Triggers>
  <ContentTemplate>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Submit"></asp:Button>
  </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
  <ContentTemplate>
    ...some more basic controls here...
  </ContentTemplate>
</asp:UpdatePanel>

UpdatePanel1 で送信を押すと、テキスト ボックスの値が失われます。これが同じページに 2 つの更新パネルがあるためなのか、それとも別の理由によるものなのかはわかりません。

UpdatePanel2 は、テキスト ボックスの値を移動しようとしている場所です。ただし、文字列をテストするために、すべてのコードを削除し、Button1 のクリック イベントにメッセージ ボックスを追加して、文字列が渡されているかどうかを確認しました。毎回空の文字列のようです。

true と false の両方に設定ChildrenAsTriggersし、トリガー セクションを削除し、更新パネルのenableviewstateプロパティを true に設定し、更新モードを切り替えてみましたが、何も機能していないようです。

これはおそらく重複している可能性がありますが、こことGoogleでこれに関連する投稿を閲覧しましたが、まだ解決策が見つかりません.

何か案は?

4

1 に答える 1

2

更新パネルの1つにjQuery UIダイアログを使用していたことが判明しました。これは、ダイアログをボディの最後(フォームタグの外側)に追加していました。ダイアログのスクリプトに次の行を追加しました。

dlg.parent().appendTo(jQuery("form:first"));

...そしてそれはうまくいきました!

于 2012-11-16T09:53:55.507 に答える