2009-04-29 29 views
1

我正在編寫一個小型的公告板應用程序,其中大部分似乎到目前爲止工作。不過,我試圖將Ajax面板添加到通知查看頁面,並且無法使其工作。成功將一個datalist註冊爲asnyc回發觸發器

該網站使用一個定義了三個內容區域的母版頁,在該頁面的情況下,該頁面用於通知過濾器,通知標題列表(填充在Page.Load事件中的數據列表)以及目前顯示的通知。當你點擊一個標題時,它應該加載通知。

問題是我希望當前顯示的通知位於Ajax面板上,但觸發器位於不同的內容區域。我已經把一個腳本管理母版頁上的內容佔位符之外,和aspx頁面上我已經把一個更新面板周圍的通知觀看區域內的內容與下面的觸發器:

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="dlSelector" EventName="ItemCommand" /> 
</Triggers> 

而在Page.Load事件我有:

'Get the script manager first, and register the selector as a postback 
Dim sm1 As ScriptManager = ScriptManager.GetCurrent(Page) 
sm1.RegisterAsyncPostBackControl(dlSelector) 

這和編譯代碼部分似乎運行正常,但我得到的錯誤dlSelector‘無法找到對的UpdatePanel觸發「UpdatePanel1「有ID的控制’ 「。如果我更換

sm1.RegisterAsyncPostBackControl(dlSelector) 

sm1.RegisterAsyncPostBackControl(Page.FindControl("dlSelector")) 

然後我得到的FindControl返回空的錯誤,它再次倒下。我究竟做錯了什麼?

回答

1

母版頁意味着您的控件名稱已被損壞
(例如ct100_someotherstuff_nameOfControl),這就是爲什麼FindControl回來空手。您需要使用適當的控件ID註冊回發控件。

Rick Strahl中閱讀此內容在this post中引用了它。

希望它有幫助。

+0

感謝您的快速反應,現在它似乎更快樂! – Barn 2009-04-29 09:07:47