用ASP.NET开发的B/S项目,我在.aspx页面嵌套了C#语句
如下!
<%
string bb ="";
bb = Request.QueryString["id"];
if (bb=="haveuser")
{
    Response.Write("<script language='javascript'>");
    Response.Write("if (confirm('Are you sure to logon system?'))");

    Response.Write("window.document.getElementById('Button1').click();");
    Response.Write("</script>");
}
%>但是执行结果是弹出了信息框,就是不执行下面的按钮事件,请教各位,
这样写有什么问题吗?
我现在就是根据另外一个页面的返回值,判断弹出的信息框,用户选择确定,我就
执行按钮的点击事件?

解决方案 »

  1.   

    getElementById('Button1')===============>
    getElementById('<%=Button1.ClientID%>')
      

  2.   

    <% 
    string bb =""; 
    bb = Request.QueryString["id"]; 
    if (bb=="haveuser") 

        Response.Write(" <script language='javascript'>"); 
        Response.Write("if (confirm('Are you sure to logon system?'))");     Response.Write("__doPostBack('Button1','')"); 
        Response.Write(" </script>"); 

    %> 
      

  3.   


    document.getElementById("<%= Button1.ClientID %>").click();
      

  4.   

    这是因为你用Response.Write那么这断script就会出现在<html>上面就是页面的最顶部document.getElementById('Button1')这是找不到对象的不信你可以试试alert(document.getElementById('Button1'))这个结果是null你要用ScriptManager.RegisterStartupScript(btnSubmit, this.GetType(), "unReport", "window.close();", true);
    形式注册脚本就可以了