日期:2014-05-18  浏览次数:20395 次

javascript 语句不执行?请教各位大侠!
用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>");
}
%>

但是执行结果是弹出了信息框,就是不执行下面的按钮事件,请教各位,
这样写有什么问题吗?
我现在就是根据另外一个页面的返回值,判断弹出的信息框,用户选择确定,我就
执行按钮的点击事件?


------解决方案--------------------
getElementById('Button1')===============>
getElementById('<%=Button1.ClientID%>')
------解决方案--------------------


<% 
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>"); 

%>
------解决方案--------------------
这是因为你用Response.Write

那么这断script就会出现在<html>上面就是页面的最顶部

document.getElementById('Button1')这是找不到对象的

不信你可以试试alert(document.getElementById('Button1'))

这个结果是null

你要用ScriptManager.RegisterStartupScript(btnSubmit, this.GetType(), "unReport", "window.close();", true);
形式注册脚本就可以了