客戶收到UpdatePanel
的回覆並在頁面上呈現時會發生什麼?ASP.NET部分回發的頁面更新會發生什麼?
此問題的動機是爲this question和this jQueryUI ticket中提出的問題尋找適當的解決方案。基本上,奇怪的事情發生在jQueryUI日期選擇器連接到TextBox
的UpdatePanel
,並且在UpdatePanel
更新時打開。
This question和its linked article認爲它沒有什麼比這更:
document.getElementById('updatePanelContainer').innerHTML = responseHtml;
但我已經試過在this jsfiddle和日期選擇器只是完全停止除完成按鈕工作;我在部分回傳中看到的行爲是datepicker仍然有效,但是它的狀態是從它下面取出的。當我使用jQueryUI未縮小的代碼進行調試時,我發現drawYear
和drawMonth
屬性會丟失它們的值(變爲0)。
在玩弄螢火蟲和看作爲一個局部回傳時,我注意到在頁面以下變化:
- 一些在Firebug的DOM選項卡中輸入屬性的消失,如:
- accessKeyLabel
- parentElement
- clientHeight
- clientLeft
- clientTop
- clientWidth
- 形式
- nextSibling
- 的offsetHeight
- offsetLeft
- offsetParent
- 的offsetTop
- offsetWidth
- parentNode
- p reviousElementSibling
- previousSibling
- scrollHeight屬性
- scrollWidth
- 隱藏
span
元素的一堆被添加到包含隱藏字段與他們ASP.NET信息頁面的底部(似乎類似於__ViewState) - 的小方法
update
元素的內容發生更改(空格VS標籤,也許)
UPDATE:我設法讓repro工作;他們的關鍵是重新初始化日期選擇器,重新創建它綁定的輸入。請參閱上述jsfiddle的latest revision。不過,我仍然想知道,如果部分回發有什麼特別之處的話。
這可能不是你正在尋找的答案......但是不要使用'UpdatePanel'。它試圖簡化Ajax,但複雜得多。 – jrummell 2012-07-10 16:34:19
我不同意@jrummell ... UpdatePanels可能不是100%的AJAX替代品,但它們是情況需要的很好的工具。 – 2012-07-10 16:40:35