我正在嘗試以編程方式添加ScriptManager控件,但僅當頁面上不存在該控件時。我發現了很多這樣的例子,把邏輯放在Page_Init裏面,這是有道理的(後來才意識到它不是有意義 - 參見底部編輯),但是在我的Init方法被擊中之前我得到一個異常。以編程方式添加ScriptManager
protected void Page_Init(object sender, EventArgs e)
{
if (ScriptManager.GetCurrent(Page) == null)
{
ScriptManager sMgr = new ScriptManager();
Page.Form.Controls.AddAt(0, sMgr);
}
}
這讓我覺得Sitecore會以某種方式進入。有沒有人使用Sitecore成功完成這項工作?
謝謝。
編輯:我收到的例外如下:。「ID爲‘filtersUpdatePanel’的控制需要一個ScriptManager在頁面上任何需要它的控制之前,必須的ScriptManager出現」
編輯^ 2:這裏真正發生的事情是,Page_Init在生命週期中爲了附加ScriptManager(在我的情況下)太晚了。有了Init,所有的孩子事件都會先被觸發,然後被觸發。 UpdatePanel的init沒有看到ScriptManager,所以它拋出了一個異常。將ScriptManager邏輯放在UpdatePanel init中解決了這個問題。
你能發佈異常嗎? – techphoria414 2012-03-07 21:20:41
你走了。這不會有幫助嗎? – raynjamin 2012-03-08 14:40:09