2012-03-14 49 views
1

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を決定するのですか?それはドル記号形式またはアンダースコア形式でなければなりませんか?

答えて

1

ControlIDは、WebサーバーコントロールのIDである必要があります。あなたはZoneTemplate内の次のマークアップを持っていると言う:

<uc1:MyWebPart ID="MyWebPart1" runat="server" /> 

あなただけレンダリングされたHTMLにあなたが親コントロールの事前保留IDが表示されますにもかかわらず、AsynchronousPostbackTriggerでControlIDプロパティの「MyWebPart1」を必要とします、ドル記号を "name"属性の区切り文字として、アンダースコアを "id"要素の区切り文字として使用します。

WebPartもWebPartZoneも「ドラッグ」イベントを公開しませんが、WebPartManagerはWebPartMovingイベントを公開しますので、処理したいと思うようです。これを試してみてください:

<Triggers> 
     <asp:AsyncPostBackTrigger ControlID="WebPartManager1" EventName="WebPartMoving" /> 
</Triggers> 

が、私はそれをトリガしたウェブパーツそのイベントを処理し、識別をよく読んでいますが、少なくとも部分的なページポストバックが最初に働いて得ることができるかどうかを確認するためにあなたにそれを残しておきます。

+0

大変感謝します。私は最初にWebPartManagerをもう少し調べたのです。WebPartMovingは、Webパーツの移動が開始されたときに起動されます。 WebPartMovedは終了したら解雇されます。 – pabrams

関連する問題