大家都知道ASPX页面中都会自动生成JS函数 __doPostBack(eventTarget, eventArgument)
而我在页面中调用该函数,如下
function igtbl_doPostBack(gn,args)
{
var gs=igtbl_getGridById(gn);
if(gs.GridIsLoaded && !gs.CancelPostBack)
{
gs.GridIsLoaded=false;
if(!args)
args="";
__doPostBack(gs.UniqueID,args);
}
}
在IE6下正常,但在IE7下提示js错误"物件不支持该属性和方法",经排查错误出在调用__doPostBack这句上,我仿照__doPostBack重新写了个函数__doPostBack1,调用__doPostBack1就正常(__doPostBack1和__doPostBack函数内容一摸一样就是函数名不同),一直不知道是什么原因,请各位大侠帮帮解释一下!

解决方案 »

  1.   

    从来不需要你写“__doPostBack”。就好像你知道高级语言生成机器码,但是你写代码时如果直接嵌入机器码只会让你的高级语言程序变成质量低劣的东西。应该直接用高级语言写。"__doPostBack"是由 GetPostBackEventReference 等函数动态生成的,你应该使用这种asp.net方法生成脚本。
      

  2.   

    sp1234谢谢你的回答,但是你还是没有解释为什么IE6正常,而在IE7却出错