string.Format("document.getElementById('{0}')",Button2.ClientID);

解决方案 »

  1.   

    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),   "",   "document.getElementById('Button2').click();",   
      

  2.   

    因为你的button2控件事服务器控件 ,他的clientID属性在IE生成六览的时候会自动加上前缀,然后和你是用clientID获得的组成一个新的ID,所以在客户端你是找不到的!
      

  3.   

    完全没有问题我刚试验过了Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),   "",   "document.getElementById('"   +   Button2.ClientID   +   "').click();");  请注意你的拼写 好像少个括号
    Button2.ClientID就是指客户端控件id 没有任何问题
      

  4.   

    我刚用2005(汗),用这个方法也找不到,即使用Button2.ClintId也不行,而且查看html代码,发现document.getElementById()的参数跟html控件Id是一样的,另外document.all也不行
      

  5.   

    ClientScript.RegisterClientScriptBlock(this.GetType(), "empty", "<script language=\"javascript\" type=\"text/javascript\">alert('" + txt.ToolTip + "');document.getElementById('" + txt.ClientID + "').focus();</script>");
    这是我的代码
      

  6.   

    总算折腾明白了
    因为RegisterClientScriptBlock注册脚本位置
    是在是在form之后第一行,此时客户端Button2还没有生成,所以无法点击click()
    所以你可以使用RegisterStartupScript注册脚本位置
    是form结束之前最后一行,此时客户端Button2已经生成
    还有就是你必须加上一个参数true 以确保输出<script></script>标签
    ClientScript.RegisterStartupScript(Page.GetType(),"","document.getElementById('" + Button2.ClientID + "').click();",true);
      

  7.   

    所以注册脚本时
    如果语句中有click()或者focus()必须保证客户端控件产生以后才可以
    此时建议使用RegisterStartupScript如果只是注册一些客户端函数 当然RegisterClientScriptBlock是完全可以的