【发布时间】:2010-04-09 01:45:21
【问题描述】:
在我所有多年的 .NET 编程中,我还没有遇到过像这个一样奇怪的错误。我发现了这个问题,因为页面上的一些元素被 jQuery 双重绑定。经过一些(荒谬的)调试后,我终于发现,一旦视图完全完成了自身及其所有子视图的渲染,它就会回到任意但一致的位置并重新渲染自身。
我已经为此烦恼了两天了,我根本无法让它只渲染一次!
由于缺乏更好的调试想法,我煞费苦心地在整个 HTML 中添加了日志跟踪器,以便确定可能导致此问题的原因。例如,这段代码($log 只是登录到控制台):
...
<script type="text/javascript">var x = 0; $log('1');</script>
<div id="new-ad-form">
<script type="text/javascript">x++;$log('1.5', x);</script>
...
将产生
... <--- this happens before this snippet
1
1.5 1
...
10 <--- bottom of my form, after snippet
1.5 2 <--- beginning of part that runs again!
...
9 <--- this happens after this snippet
我已经搜索了我的代码库,但没有任何内容表明它应该重新渲染页面的一部分。我想知道 jQueryUI 是否与它有关,因为 #new-ad-form 是 jQueryUI 对话框的容器。
如果可能是这种情况,这是我的初始化代码:
$('#new-ad-form').dialog({
自动打开:假, 模态:真, 宽度:470, title: '制作新广告', 位置:['中心',35], 关闭:AdEditor.reset });
【问题讨论】:
-
你能发布你的整个视图代码吗?还有任何 JS。
-
你能发布你的视图/部分视图的相关部分吗?
标签: jquery asp.net-mvc jquery-ui