2011-03-13 73 views
0

我編寫ASP.NET應用程序,我想使用jQuery DataTables。ASP.NET jQuery不能從子目錄工作

在母版頁(這是不是在根目錄)我包括在後面的代碼腳本:

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 

    ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/jquery.min.js"))); 
    ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/jquery-ui.min.js"))); 
    ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/DataTables/jquery.dataTables.js"))); 
    ScriptManagerSM.Scripts.Add(new ScriptReference(Page.ResolveUrl("~/js/setup.js"))); 
    Page.Header.DataBind(); 
} 

在頁面我剛纔純HTML:
<table class="table display">
<thead>
<tr>
<th>Header</th>
<th>Header 2</th>
</tr>
</thead>
<tbody>
<tr class="gradeX">
<td>Cell 1</td>
<td>Cell 2</td> </tr>
</tbody>
</table>

jQuery是由類選擇在叫我的setup.js:
$(function() { var oTable = $('.table').dataTable({
"bJQueryUI": true,
"sScrollX": "",
"bSortClasses": false,
"aaSorting": [[0,'asc']],
"bAutoWidth": true,
"bInfo": true,
"sScrollY": "100%",
"sScrollX": "100%",
"bScrollCollapse": true,
"sPaginationType": "full_numbers",
"bRetrieve": true
});
});

一切正在放在根中的頁面上工作。但在子文件夾中的頁面jQuery沒有被解僱。它看起來像一些路徑的麻煩,但我看不到。

感謝您的幫助o..o

編輯:安裝腳本添加
編輯2:新增調用的jQuery
編輯3:加入$(函數(){上面的js代碼(已經在我真正的代碼存在的,只是在這裏失蹤

+0

你應該使用Firefox的Firebug,看看如果您有任何JS錯誤。您還可以查看所有內容的加載順序,以確保jQuery在其他腳本之前加載。最後,確保您通過$(document).ready({});檢查DOM是否準備就緒。 – Zachary 2011-03-15 05:15:54

回答

1

的文檔需要你運行這個選項以便更改在此之前加載:

var oTable = $('.table').dataTable({ 
"bJQueryUI": true, 
"sScrollX": "", 
"bSortClasses": false, 
"aaSorting": [[0,'asc']], 
"bAutoWidth": true, 
"bInfo": true, 
"sScrollY": "100%", 
"sScrollX": "100%", 
"bScrollCollapse": true, 
"sPaginationType": "full_numbers", 
"bRetrieve": true 
}); 

要這樣:

$(function(){ 

var oTable = $('.table').dataTable({ 
"bJQueryUI": true, 
"sScrollX": "", 
"bSortClasses": false, 
"aaSorting": [[0,'asc']], 
"bAutoWidth": true, 
"bInfo": true, 
"sScrollY": "100%", 
"sScrollX": "100%", 
"bScrollCollapse": true, 
"sPaginationType": "full_numbers", 
"bRetrieve": true 
}); 

}); 
+0

它的渲染: '../ JS/jquery.min.js' '../ JS/jQuery的ui.min.js' '../ JS /數據表/ jquery.dataTables.js' 這是對的,bu仍然沒有工作。路徑似乎是正確的,jQuery只是沒有解僱,很奇怪。 – 2011-03-13 21:21:38

+0

你的頁面上的哪個位置正在運行你的安裝腳本?你確定你的腳本文件是在你嘗試使用它們之前加載的嗎? – 2011-03-13 21:26:34

+0

我的設置腳本正好在我上面的帖子中陳述的那些腳本之後加載(我在第一篇文章中更新了代碼): 'ScriptManagerSM.Scripts.Add(new ScriptReference(Page_ResolveUrl(「〜/ js/setup.js」 ))); Page.Header.DataBind();' 但它被加載到母版頁上。沒有什麼我在特定的網頁上加載。所以 - 我不確定,如果在頁面嘗試使用它們之前加載它們。但是問題只出現在subdir頁面上,所以我想他們是在正確的時間加載的。 – 2011-03-13 21:33:17