问题描述
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();",为什么就说找不到getElementById为null
解决方案
解决方案二:
string.Format("document.getElementById('{0}')",Button2.ClientID);
解决方案三:
还是不行呀
解决方案四:
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('Button2').click();",
解决方案五:
因为你的button2控件事服务器控件,他的clientID属性在IE生成六览的时候会自动加上前缀,然后和你是用clientID获得的组成一个新的ID,所以在客户端你是找不到的!
解决方案六:
完全没有问题我刚试验过了Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();");请注意你的拼写好像少个括号Button2.ClientID就是指客户端控件id没有任何问题
解决方案七:
我刚用2005(汗),用这个方法也找不到,即使用Button2.ClintId也不行,而且查看html代码,发现document.getElementById()的参数跟html控件Id是一样的,另外document.all也不行
解决方案八:
ClientScript.RegisterClientScriptBlock(this.GetType(),"empty","<scriptlanguage="javascript"type="text/javascript">alert('"+txt.ToolTip+"');document.getElementById('"+txt.ClientID+"').focus();</script>");这是我的代码
解决方案九:
总算折腾明白了因为RegisterClientScriptBlock注册脚本位置是在是在form之后第一行,此时客户端Button2还没有生成,所以无法点击click()所以你可以使用RegisterStartupScript注册脚本位置是form结束之前最后一行,此时客户端Button2已经生成还有就是你必须加上一个参数true以确保输出<script></script>标签ClientScript.RegisterStartupScript(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();",true);
解决方案十:
所以注册脚本时如果语句中有click()或者focus()必须保证客户端控件产生以后才可以此时建议使用RegisterStartupScript如果只是注册一些客户端函数当然RegisterClientScriptBlock是完全可以的