ASP.NET jQuery не работает из подкаталога - PullRequest
0 голосов
/ 14 марта 2011

Я пишу приложение ASP.NET и хочу использовать jQuery DataTables.

На главной странице (которая не находится в корневом каталоге) я включаю сценарии в код позади:

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"><br> <thead><br> <tr><br> <th>Header</th><br> <th>Header 2</th><br> </tr><br> </thead><br> <tbody><br> <tr class="gradeX"><br> <td>Cell 1</td><br> <td>Cell 2</td> </tr><br> </tbody><br> </table>

jQuery вызывается селектором класса в моем файле setup.js:
$(function() { var oTable = $('.table').dataTable( {<br> "bJQueryUI": true,<br> "sScrollX": "",<br> "bSortClasses": false,<br> "aaSorting": [[0,'asc']],<br> "bAutoWidth": true,<br> "bInfo": true,<br> "sScrollY": "100%",<br> "sScrollX": "100%",<br> "bScrollCollapse": true,<br> "sPaginationType": "full_numbers",<br> "bRetrieve": true<br> } );<br> });

Все работает на страницах, помещенных в корень. Но на страницах в подпапках jQuery не запускается. Похоже, какая-то проблема на пути, но я не вижу.

Спасибо за помощь o..o

редактировать: добавлен скрипт установки
edit 2: добавлен вызов jQuery
edit 3: добавлено $ (function () {к js-коду выше (уже существует в моем реальном коде, просто отсутствует здесь)

1 Ответ

1 голос
/ 14 марта 2011

Документ необходимо загрузить перед запуском, поэтому измените его:

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
} );

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...