0

autopostback プロパティが true に設定されている UpdatePanel 内に DropDownList があります。Postback が非同期ポストバックであるというステートメントをトリガーに保持し、コード ビハインドにドロップダウンのハンドラーを用意しました。

一部のマシンでイベントが発生しないという特有の問題があります。InitializeRequest も含めて、ポストバックが発生した ID を確認しました。あるマシンでは空と表示されていましたが、別のマシンでも同じことが問題なく機能しています。

この問題はブラウザの問題ですか、それとも他の問題ですか? 同じコードが一部のマシンで動作しているため、この種の問題が発生する理由を知ることはできません。

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDown1" EventName="SelectedIndexChanged" /> 
</Triggers>
<ContentTemplate>
<asp:DropDownList ID=" DropDown1" runat="server" AutoPostBack="true"> </asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel> 

Private Sub DropDown1_SelectedIndexChanged(default args)Handles DropDown1.SelectedIndexChanged End Sub function InitializeRequest(sender,args){ 
if (args.get_postBackElement().id == '<%= DropDown1.ClientID %>'){ }
}
4

1 に答える 1

0

更新パネル内のコントロールには AsyncPostBackTrigger は必要ありません。更新パネル内で宣言されたコントロールは、デフォルトで非同期呼び出しをトリガーします。次の行を削除します。

<asp:AsyncPostBackTrigger ControlID="DropDown1" EventName="SelectedIndexChanged" /> 

理解を深めるために、AsyncPostBackTrigger vs PostBackTriggerAsyncPostBackTrigger と PostBackTrigger の実際の違いは何ですか?を読むことをお勧めします。.

于 2013-08-29T22:48:20.827 に答える