当前位置: 代码迷 >> ASP.NET >> 后台写JS 失效 没提示,该怎么解决
  详细解决方案

后台写JS 失效 没提示,该怎么解决

热度:1727   发布时间:2013-02-25 00:00:00.0
后台写JS 失效 没提示
msg 是存储过程的返回字符串,

Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>");这么写程序没反映

以前的程序这么写没问题的啊  
现在response.Write("<script>alert('" + msg + "')</script>"); 可以弹出提示
 
我怀疑Page_load 加了cookie的原因 程序只改了这个

 protected void Page_Load(object sender, EventArgs e)
  {

  if (Request.Cookies["userid"] != null)
  {
  //Response.Write(Request.Cookies["userid"].Value);
  c = Request.Cookies["userid"].Value;
  if (c == "" || (c.Substring(0,2)!="kf" && c.Substring(0,3)!="adm"))
  {
  Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>document.getElementById('gettaodata').style.display='none'</script>");
  }
  }
  else
  {
  Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>document.getElementById('gettaodata').style.display='none'</script>");
  }
  }

不知道哪错了

------解决方案--------------------------------------------------------
document.getElementById('gettaodata')这个可能没有取到值
------解决方案--------------------------------------------------------
确保你要操作的对象在JS里是否正常获取.
------解决方案--------------------------------------------------------
你这样写
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>");
msg 里面的内容不能有换行,单引号等特殊字符才可以,

正确的写法是
msg = msg.Replace("\r\n","\\r\\n").Replace("'","\\'");
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('" + msg + "')",true);
------解决方案--------------------------------------------------------
你确认您的代码执行到了Page.ClientScript.RegisterStartupScript这行
------解决方案--------------------------------------------------------
你的程序不行,你需要断点看执行到那个行没有,一般是你的判断条件错误导致没有执行,
你也可以查看浏览器源代码,看看源代码里面是否生成了
alert("")
这行代码
------解决方案--------------------------------------------------------
进来学习的。。
------解决方案--------------------------------------------------------
Page.ClientScript.RegisterStartupScript生成的代码不在页头。
在页头的response.write()出来的内容会破坏页面的css的。

Page.ClientScript.RegisterStartupScript生成的代码是在</form>这个结束标记的前面的
  相关解决方案