我写了个日历控件,把要用的JAVASCRIPT代码output.Write出来了,可是当碰到一个页面重复调用该控件,而我又只想output.Write一次JAVASCRIPT的话有什么解决办法?

解决方案 »

  1.   

    把JAVASCRIPT写到js文件里,然后在要用的页面包含一下,之后调用就是了。
      

  2.   

    在js文件里写代码
    aspx页包含
    <script language="javascript" src="JS/calendar.js"  type="text/javascript"></script>
    或者
    <script language="javascript" src="JS/calendar.js"  <!--#INCLUDE VIRTUAL="js/calendar.js"--></script>
      

  3.   

    后面一个写错了,改成
    <script>
    <!--#INCLUDE VIRTUAL="../Js/calendar.js" -->
    </script>
      

  4.   

    晕,那不也要写多次
    <script language="javascript" src="JS/calendar.js"  <!--#INCLUDE VIRTUAL="js/calendar.js"--></script>
    这种
      

  5.   

    你output.write得时候,先判断这段脚本是否被注册过。
    可以用Page.Regiter..来注册。
      

  6.   

    SORRY,没注意楼主用的是服务端控件,还认为是javascript的客户端日历。
      

  7.   

    那样的话可以不用Output,使用RegisterStartupScript在使用前先用IsStartupScriptRegistered判断一个脚本是否被注册过就行了
      

  8.   

    ASP.NET 1.x:使用Page.Register系列方法注册脚本块
    ASP.NET 2.0:使用Page.ClientScript.Register系列方法注册脚本块方法其实是一样的,会让你在注册脚本时提供一个key。如果多个相同的脚本块注册,但是用同一个key,那么页面就只会输出第一个注册的脚本块,那样就不会重复。例如我们平常用的Validator系列控件,无论你在页面上放多少个Validator控件,它们的脚本引用就只输出一次,靠的就是这个方法。