请问直接写JS脚本和采用Page.ClientScript类注册脚本的区别。
  我个人感觉他们最终的效果不是一样吗?请高手教我。谢谢!!!!

解决方案 »

  1.   

    就我的理解,运行的效果没什么不同,唯一不同的是加载的时间不同。比如JS直接写,可以定义在任何地方,你就可以控制你JS的加载时间点。而RegisterClientScriptBlock却在form和asp.net默认注册的JS之间;而RegisterStartupScript是在页面的最后加载你定义的JS,还有其他的一些方法也是类似;如果能自己定义,我推荐不要用ClientScript;我觉得这种方式在做自定义控件的时候注册JS用的,因为引用控件的时候,总不能让用户在托控件到页面以后再自己添加JS引用,应用程序级就没必要用这种方式。各人见解,楼下如有不同请提出。
      

  2.   

    .net中使用response.write输出js会将js放在源代码的最前面,这样就可能出现破坏网页css的效果,让css失去效果.net中使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", " <script lanuage=javascript>if(confirm('确定要交卷吗?')==false){history.back()}; </script>"); 可以解决页面变型或是css失效的问题,但是代码会继续执行后面的程序。信息来源:
    http://www.cnblogs.com/qiantuwuliang/archive/2009/09/01/1557914.html