Jquery telerik控制传递给getelementbyid()的空字符串
我继承了一个广泛使用telerik控件的web应用程序 有几个页面上的AJAX调用非常频繁,通常在选择组合项时设置一些默认值(例如,选择一家公司,发送地址) 一天前,这发展成一种奇怪的行为。第一个ajax调用就可以工作,而后续调用则不行。不管你做哪一个。第一个有效 查看浏览器控制台,您可以在页面加载期间看到以下内容Jquery telerik控制传递给getelementbyid()的空字符串,jquery,.net,vb.net,telerik,Jquery,.net,Vb.net,Telerik,我继承了一个广泛使用telerik控件的web应用程序 有几个页面上的AJAX调用非常频繁,通常在选择组合项时设置一些默认值(例如,选择一家公司,发送地址) 一天前,这发展成一种奇怪的行为。第一个ajax调用就可以工作,而后续调用则不行。不管你做哪一个。第一个有效 查看浏览器控制台,您可以在页面加载期间看到以下内容 TypeError: n is undefined 此外,通过调用任何ajax调用,您将看到如下消息 TypeError: n is undefined (source scr
TypeError: n is undefined
此外,通过调用任何ajax调用,您将看到如下消息
TypeError: n is undefined (source script resource ... axd file)
TypeError: Empty string passed to getElementById() (source jquery.js)
TypeError: b is null (source script resource ... axd file)
我试着设置断点,并回顾调用链,看看哪些控件产生了这种情况。效率不高
正如我上面提到的,只有第一个电话是有效的。随后的通话中断。有什么原因吗 希望这能节省一些时间 页面上有一些我们不再需要的控件。我把它们注释掉了,这样我们可以在下周w改变主意时“把它们拿回来” 我碰巧使用了一个简单的HTML注释,而不是.NET/VB注释 我相信发生的事情就是这样。后面的代码仍然知道控件。我可以验证这一点,因为它是在代码中引用的,而不是抱怨 服务器端,Telerik呈现JS代码,将事件处理程序分配给所有控件。客户端,由于控件实际不在那里,因此JS调用没有按预期工作。这是公平的,Telerik没有实际的方法来预测页面最终会是什么样子。在客户端,他们可以在打电话之前检查是否存在
使用VB注释,然后注释掉引用代码,或者删除控件,:-)然后删除引用代码都可以解决问题 这是一个问题?还是给用户的一个信息?对不起,以危险的方式,我将把这作为一个明确的问题提出,并在下面回答。