我在后台代码中通过response.write alert弹出一个窗口后,
页面布局就乱掉了 ,有的字体大小也改变了,想不通这问题该怎么解决。
那位大哥能帮忙啊!

解决方案 »

  1.   

     Response.Write("<script>alert('这样试试!');</script>");
      

  2.   

    ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('这样试试!');");
      

  3.   

    ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('这样试试!');");
    这一句加上以后,它直接把alert('这样试试!');给我原样输出了
      

  4.   

    Response.Write("<script>alert('这样试试!');</script>");
    ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('这样试试!');");
      

  5.   

    看来是我自己没思考,直接把2楼大哥的代码ClientScript.RegisterStartupScript(Page.GetType(), "", "alert('这样试试!');");拷贝过来了。我应当把它稍微改一下。
     ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('这样试试!');</script>");
    问题解决了,但是我还想问一下,这个方法的意思是什么。跟我直接alert有什么区别。那位知道请指点一下!
      

  6.   


     我也有同样的问题,是这样解决的
    改成: this.RegisterClientScriptBlock("", "<script>alert('修改成功');window.location.href='" + this.Request.Url.ToString() + "'</script>");
      

  7.   

    来源于msdn启动脚本由它的键和类型唯一标识。具有相同的键和类型的脚本被视为重复脚本。只有使用给定的类型和键对的脚本才能使用该页面进行注册。试图注册一个已经注册的脚本不会创建重复的脚本。调用 IsStartupScriptRegistered 方法以确定具有给定的键和类型对的启动脚本是否已经注册,从而避免不必要的添加脚本尝试。在 RegisterStartupScript 方法的此重载中,使用 addScriptTags 参数可指示 script 参数中提供的脚本是否包装在 <script> 元素块中。将 addScriptTags 设置为 true 指示脚本标记将自动添加。RegisterStartupScript 方法添加的脚本块在页面加载完成但页面的 OnLoad 事件引发之前执行。不保证脚本块按照它们注册时的顺序输出。如果脚本块的顺序十分重要,请使用 StringBuilder 对象将脚本收集到单个字符串中,然后在单个客户端脚本块中注册所有这些脚本。
    示例好像明白了一点点。直接response会将js写在页面开头,影响布局。
    但是用了上面的方法后先加载页面本身,结束以后,在加载js客户端代码。所以不影响了。不知道可以这样理解不?