C# 简单的JavaScript问题,在IE中返回NULL,但在FireFox中工作!

C# 简单的JavaScript问题,在IE中返回NULL,但在FireFox中工作!,c#,asp.net,javascript,vb.net,ajax,C#,Asp.net,Javascript,Vb.net,Ajax,我在一个外部.js文件中正确链接了这个函数 function SubmitAge(age, UpdatePanelID, HiddenAgeID) { $get(HiddenAgeID).value = age; __doPostBack(UpdatePanelID); } 我这样称呼它,只需点击一下a href=“#”html标记 (标签已删除,请向右滚动,因为stackoverflow在显示简单内容时有最大的困难,第七次显示相关编辑,谢谢stackoverflow) 然而,我得

我在一个外部.js文件中正确链接了这个函数

 function SubmitAge(age, UpdatePanelID, HiddenAgeID) {
  $get(HiddenAgeID).value = age;
  __doPostBack(UpdatePanelID);
 }
我这样称呼它,只需点击一下
a href=“#”
<代码>html标记

(标签已删除,请向右滚动,因为stackoverflow在显示简单内容时有最大的困难,第七次显示相关编辑,谢谢stackoverflow)

然而,我得到了这个错误,它在SubmitAge函数的第一行(带有$get(HiddenAgeID)的行)被调用

我已经在visual studio.net(使用vb.net和c#的vs2010 beta 2)中复制并粘贴了我的手表窗口,而执行在SubmitAge.js函数中中断

  age 53 Number
  UpdatePanelID "ctl00_MainContent_arTo_upAgeRange" String
  HiddenAgeID Undefined identifier Error
为什么HiddenAgeId(显然像UpdatePanelID一样被传递)会返回一个“未定义的标识符错误”???它把我弄糊涂了,以至于我没有活动的空间!伙计们,我错过什么了吗?谢谢-非常感谢您的帮助或指点


编辑:更新:当我在FireFox中加载它时,它可以完美地工作(正如它应该的那样),但在Internet Explorer中会产生错误,这不是浏览器兼容性问题,它也应该在IE中工作,但它不会

如何调用此方法?您可能只是错误地使用两个参数调用了该方法(javascript允许这样做,而第三个参数在方法体中是未定义的)。或者,您可能真的传入了一个未定义的值,但没有意识到它


啊,你刚刚编辑了这个问题。在这种情况下,检查$get(HiddenAgeID)返回的是什么,它可能返回null,因为它找不到它。

考虑到由于命名容器而产生的任何可能的ID munging,
MainContent\u arFrom\u HiddenAge
是客户机上针对
HiddenAgeID
的正确ID吗


看看UpdatePanel的ID,HiddenAge的ID应该是
ctl00\u main content\u arFrom\u HiddenAge

到目前为止,我已经确定这是internet explorer中的一个bug,它确实不是预期的行为,在任何情况下都不能设计,我几乎可以肯定它是一个bug。我尝试了一切,从重新排列js函数参数到添加伪参数,以及多次重启internet explorer、visual studio和计算机,但都没有成功

因此,我决定将整个函数内容直接放入onclick=“(代码行”事件属性中,这意味着对于我网站上的每个页面,整个函数代码行都必须重新打印110次(对于用户来说,这是一个很好的20到30KB的下载量)…这是暂时的,直到我有时间找到更好的解决方案


有人知道我们是否可以给正确部门的错误报告团队一个指向此线程的链接或指针,以便他们至少可以调查并解决此问题,以改进产品吗?我不完全确定这是vs还是ie问题,但我想他们都会关心此问题。我愿意提供问题复制帮助如果需要,谢谢大家的帮助。

问题中也会显示方法调用,它是数字、字符串、字符串…:SubmitAge(24,'ctl00\u MainContent\u arFrom\u upAgeRange','MainContent\u arFrom\u HiddenAge');您是否在其他浏览器中尝试过此功能?如果这在IE中失败,但在Firefox中有效,例如,这可能是一个很好的信息。哈哈,你猜怎么着?它在Firefox中工作得很好,在IE中也应该如此!!!难以置信…我应该如何继续进行此操作?有趣的是,在服务器端使用upUpdatePanel.ClientID.To生成IDString和hfHiddenAge.ClientID.ToString因此它们是正确的,我也在打印的源代码中仔细检查了这一点HiddenAgeID只是一个字符串参数,用于传递隐藏字段的名称,即“MainContent\u arFrom\u HiddenAge”,我将尝试让你知道你应该将问题标题编辑为更具描述性的内容,如“在对ASP.net的简单Ajax调用中出现奇怪的空相关错误”。顺便说一句,这是一个很好且有趣的问题,但并不是我在“简单”问题中所期望看到的;)当然,从给定的代码看不应该出现这种情况。但是ago与给定的示例HTML不完全匹配,所以谁知道呢。我们可以有一个带有错误的测试页面吗?顺便说一句,您应该从单击处理程序中返回false,以停止跟踪链接(由于
#
,页面跳转到顶部)。你说的“ago”是什么意思?onclick正确地向SubmitAge函数发送了3个参数,SubmitAge函数正确地使用了所有参数。它在firefox中正常工作:)到底谁会否决它?这实际上是一个beta 2 bug!!
Error:
Microsoft JScript runtime error: 'null' is null or not an object
  age 53 Number
  UpdatePanelID "ctl00_MainContent_arTo_upAgeRange" String
  HiddenAgeID Undefined identifier Error