UpdatePanel
当客户端接收到 ' 的响应并将其呈现在页面上时,究竟会发生什么?
这个问题的动机是为这个问题和这个 jQueryUI 票中提出的问题找到一个合适的解决方案。本质上,当 jQueryUI 日期选择器附加到 a 并在更新时打开时,会发生奇怪TextBox
的事情UpdatePanel
。UpdatePanel
document.getElementById('updatePanelContainer').innerHTML = responseHtml;
但是我已经在这个 jsfiddle中尝试过,并且 datepicker 完全停止工作,除了 Done 按钮;我在部分回发中看到的行为是 datepicker 仍然有效,但它的状态是从它下面取出的。当我使用 jQueryUI 非缩小代码对其进行调试时,我看到drawYear
和drawMonth
属性丢失了它们的值(变为 0)。
在使用 Firebug 并观察部分回发时,我注意到页面中有以下变化:
- Firebug 的 DOM 选项卡中的一些输入属性消失了,例如:
- 访问密钥标签
- 父元素
- 客户身高
- 客户左
- 客户顶部
- 客户端宽度
- 形式
- 下一个兄弟姐妹
- 偏移高度
- 左偏移
- 偏移父
- 偏移顶部
- 偏移宽度
- 父节点
- 上一个元素兄弟
- 以前的兄弟姐妹
- 滚动高度
- 滚动宽度
- 一堆隐藏
span
元素被添加到页面底部,其中包含带有 ASP.NET 信息的隐藏字段(似乎类似于 __VIEWSTATE) - 元素的内容
update
以微小的方式变化(可能是空格与制表符)
更新:我设法让重现工作;他们的关键是在重新创建绑定的输入后重新初始化日期选择器。请参阅上面提到的 jsfiddle 的最新版本。不过,我仍然想知道部分回发是否有什么特别之处。