與其他許多人一樣,我試圖從JavaScript調用.NET控件的服務器端事件。使用__doPostBack調用JavaScript的TextChanged事件
具體而言,我想在名爲txtSearch
的TextBox上觸發TextChanged
事件。因此,我希望從客戶端到達以下事件:
protected void txtSearch_TextChanged(object sender, EventArgs e)
已經對SO讀很多答案(例如here和here)我有以下的JavaScript:
__doPostBack('ctl00$ctl00$Container$Main$txtSearch', 'TextChanged');
但服務器端事件從不會觸發。
我已經試過無數的排列:與將AutoPostBack真假,有和沒有的ASPX在服務器端的指令聲明的事件(即 OnTextChanged =「」),與EventValidation在關閉頁面聲明,使用ClientID而不是EVENTTARGET參數中的UniqueID ...但事件仍然未被觸發。
幾個其它點
- 的
txtSearch
按鈕控制的也是一個UpdatePanel觸發,在該情況下,重要的。 - 我正在轉換現有代碼,其中有相當多的代碼,並且正在尋找可以放在每個頁面上的內容,而不是將代碼隱藏事件轉換爲PageMethods。
有誰能告訴我我還需要做什麼?
爲了幫助縮小問題 - 「Page_Load」事件是否被解僱? – Blachshma
@Blachshma - 是的。 – awj