假設您的Web表單中有一個Button,並且OnClick綁定了一個代碼隱藏事件。將控件移到主分頁符事件綁定中嗎?
然後,通過將該按鈕添加到母版頁的控件的控件集合中,將該按鈕向上移動到母版頁中。 這是在運行時在Page_Load事件中完成的。
OnClick事件現在綁定到哪裏?仍然是Web表單的代碼隱藏,還是查看母版頁的代碼隱藏?
我這樣做了,現在我的按鈕什麼也沒做。它將頁面發回,但實際上並沒有在代碼隱藏中運行綁定事件。
我在兩種情況下都檢查了按鈕的HTML。那唯一改變的是標識和名稱,以反映命名容器的變化:
在Web表單(「搜索Maincontent」是的ContentPlaceHolder):
<input type="submit" id="ctl00_MainContent_DeleteButton" value="Yes, Delete" name="ctl00$MainContent$DeleteButton"/>
在母版頁:
<input type="submit" id="ctl00_DeleteButton" value="Yes, Delete" name="ctl00$DeleteButton"/>
我已經運行調試器,並且可以確認它不再接觸綁定事件。
它是將其綁定到事件的ID還是名稱?如果是這樣,我將它移動到母版頁中是否會打破此綁定?
你是說呈現的HTML缺少JavaScript?是不是應該在那裏調用__doPostBack(eventTarget,eventArgument)? – Josh 2010-01-19 19:02:47
那就是那裏呈現的HTML,所以如果它不在那裏,它就不會呈現。這就是讓我認爲事件處理程序在控件移動時斷開連接的原因。 – Deane 2010-01-22 22:15:50