我無法弄清楚AsyncPostBackTrigger的EventName屬性中的'EventName'要求什麼。 (我看的觸發器是一個asp.net WebPart上的拖動事件,所以如果有人知道答案是基於此,很好)。AsyncPostBackTrigger EventName - 如何確定?
我在其他地方看到__EVENTTARGET應該給我這個控件的ID,觸發了該事件,並__EVENTARGUMENT應該給我的事件的名稱。
要揣摩觸發應該是什麼,我已經加入了一些代碼在我的網頁加載回發:
Me.txtEventTarget.Value = Me.Page.Request.Params("__EVENTTARGET")
Me.txtEventArg.Value = Me.Page.Request.Params("__EVENTARGUMENT")
當我觸發回發,我得到下面的輸出:
txtEventTarget:
ctl00 $ cphDataEntry $ 2區
txtEventArg:
拖動:WebPart_gwpucMyFiles:0
看起來'事件參數'實際上是一個由三部分組成的複合對象:事件的名稱,看起來像觸發事件的控件的ID的一部分,以及與事件關聯的值。
但是,ASP.Net對ID做了些什麼?我知道它用下劃線和美元符號做煩人的事情,但爲什麼它使用這兩個變量的不同格式?它們不應該都包含下劃線嗎?
當我認爲我的網頁的HTML源代碼,控件的ID更像是這樣的: 「ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles」,但它永遠不會只是ID;兒童控制的標識被加上。
無論如何,當我嘗試這樣它不工作:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles" EventName="Drag"/>
</Triggers>
因此,沒有人知道我應該放什麼AsynchronousPostbackTrigger? EventName只是「拖動」?如果是這樣,我是否需要我的控件的完整ID作爲'ControlID'屬性?如果是這樣,我如何確定完整的ID?它應該是美元符號格式還是下劃線格式?
非常感謝。我做了我應該做的第一件事,即研究WebPartManager。當Web部件開始移動時,WebPartMoving被觸發;完成後會觸發WebPartMoved。 – pabrams 2012-03-31 00:24:54