如果用下面這個方法去使用外部的JavaScript的話,在某些狀況下會不能用在AJAX的部分更新上

<script type ="text/javascript" src="myJavaScript.js">

</script>

所以要這樣註冊(CompositeScript是將多個js合起來降低傳輸量增加效能)

<asp:ScriptManager ID="ScriptManager1" runat="server">

<CompositeScript>

   <scripts>

      <asp:ScriptReference Path="~/myJS/myJavaScript.js"/>

      <asp:ScriptReference Path="~/myJS/myJavaScript2.js"/>

   </scripts>

</CompositeScript>

</asp:ScriptManager

另外下面可通知Script檔案是否載入完畢

if(typeof(Sys)!='undefined')

{

     Sys.Application.notifyScriptLoaded

}

welkingunther 發表在 痞客邦 PIXNET 留言(4) 人氣()


留言列表 (4)

發表留言
  • 燒酒螺
  • 版大您好,
    我有遇到一些跟您這篇所提出的解法有相關的問題。
    我遇到的問題是,我用了一個UpdatePanel放置了GridView
    然後啟動GridView的自動分頁功能,小弟我為了讓網頁好看一點使用了greybox這個彈出視窗的套件,
    在第一頁時JS是正常沒問題的,但當換頁或是有更新UpdatePanel之後,所有greybox彈出視窗的套件特效就沒有用了。
    我用firebug查了一下response的資料,資料顯示<a>標籤內greybox所需的資料是有放置在標籤內的。
    於是轉向懷疑JS並沒有引入或是執行,遂找到了您這篇文章。
    可是還是沒有解決這個問題。

    以下是GreyBox的相關文件
    http://orangoo.com/labs/greybox/installation.html

    附註:
    以下是我設定的資料
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    <CompositeScript>
    <Scripts>
    <asp:ScriptReference Path="~/js/greybox/greyboxDir.js"/>
    // 此為我自己寫的路徑js,裡面僅放置var GB_ROOT_DIR = "http://mydomain.com/greybox/";這樣的資料
    <asp:ScriptReference Path="~/js/greybox/AJS.js"/>
    <asp:ScriptReference Path="~/js/greybox/AJS_fx.js"/>
    <asp:ScriptReference Path="~/js/greybox/gb_scripts.js"/>
    </Scripts>
    </CompositeScript>
    </asp:ScriptManager>
  • welkingunther
  • 你可以自己寫一個js檔去測試當UpdatePanel更新後那個js能不能呼叫到~
    不過我覺得這個套件不是很好用的說~.~"(之前看過有JQuery的)
    不然你把他的rel的方式改成onclick="return XXX"的方法試試
    網頁裡的Advance usage那頁有
    再不然靜下心來就多試試搂~^^"