AsyncPostBackTriggerのEventName属性に 'EventName' asp.netが予期しているものがわかりません。 (私が見ているトリガーは、asp.net WebPart上のドラッグイベントです。だから誰かがそれに基づいて答えを知っているなら、素晴らしい)。AsyncPostBackTrigger EventName - どのように判断するのですか?
私は__EVENTTARGETが私にイベントをトリガーし、__EVENTARGUMENTは私にイベントの名前を与える必要があります。
トリガーがどうあるべきかを理解しようとするが、私はポストバックに私のページのロード中にいくつかのコードを追加しました:
Me.txtEventTarget.Value = Me.Page.Request.Params("__EVENTTARGET")
Me.txtEventArg.Value = Me.Page.Request.Params("__EVENTARGUMENT")
をそして私がポストバックをトリガーするとき、私は次のような出力が得られます。
txtEventTarget:
ctl00 $ cphDataEntry $ ZONE2
txtEventArg:
ドラッグ:WebPart_gwpucMyFiles:0
'イベント引数'は実際には、イベントの名前、イベントをトリガするコントロールのIDの一部と見えるもの、イベントに関連付けられた値の3つの部分からなる複合オブジェクトです。
しかし、ASP.NetがIDに何をしているのですか?アンダースコアとドル記号のついた迷惑なことは分かっていますが、なぜこの2つの変数に異なる形式を使用していますか?彼らは両方ともアンダースコアを含むべきではありませんか?
私のページのhtmlソースを見ると、コントロールIDは次のようになります。 "ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles"ただし、それは決してそのIDではありません。子コントロールのIDがタックされます。とにかく
、私はそれが動作しません、これを試してみてください。
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles" EventName="Drag"/>
</Triggers>
だから、誰もが私がAsynchronousPostbackTriggerに置くべきかを知っているのですか? EventNameは単に「ドラッグ」ですか?もしそうなら、私は 'ControlID'属性のための私のコントロールの完全なIDが必要ですか?もしそうなら、どのように完全なIDを決定するのですか?それはドル記号形式またはアンダースコア形式でなければなりませんか?
大変感謝します。私は最初にWebPartManagerをもう少し調べたのです。WebPartMovingは、Webパーツの移動が開始されたときに起動されます。 WebPartMovedは終了したら解雇されます。 – pabrams