private   void   Button1_Click(object   sender,   System.EventArgs   e)   
  {   
  string   script="<script>window.opener.location.reload();window.close();</script>   ";   
  Page.RegisterStartupScript("asdf",script);   
  }请问这里的asdf是哪来的的啊?还有 response.write("<script></script>")也可以输出脚本,这两个有什么区别呢?

解决方案 »

  1.   

    RegisterStartupScript可以防止脚本之间干扰.当你页面里有不少用户控件,而用户控件里又有类似的函数的时候就会有体会了.
    response.write(" <script> </script>")就是原样输出,但它主要不是用来输出脚本的.另外,response.write不建议你用,他输出的东西都在html头上,还会导致符合w3c标准的页面的css实效。
      

  2.   

    请问这里的asdf是哪来的的啊? 
      

  3.   

    asdf是你随便定义的key,为了防止和别的脚本重复而已.
      

  4.   

    输出的位置不一样
    好像Response.Write(str)输出的html在文档的最上面,而page.RegisterStartupScript()在Form标签的下面