ASP.NET - JQuery - PullRequest
       20

ASP.NET - JQuery

1 голос
/ 15 декабря 2010

Чтобы написать JQuery на традиционном asp.net в VS, какие предварительные требования должны быть установлены? какой-нибудь штекер такого типа должен быть установлен?

Ожидаю твоей помощи.

Спасибо Ка

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

Ничего особенного не требуется - просто включите сценарии Jquery. В настоящее время рекомендуется использовать ссылку на CDN, например, Google или Amazon. Это дает вам больше информации:

http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery

Это может помочь, если вы новичок в JQuery (интерактивные демонстрации): http://visualjquery.com/

В ASP.Net главное, что нужно помнить, заключается в том, что, поскольку среда автоматически записывает идентификаторы на стороне клиента, вы будете в основном обращаться к элементам управления по их типу и имени класса css, а не по идентификатору. Вы можете использовать несколько имен классов CSS, чтобы позволить вам находить / фильтровать ваши элементы управления HTML.

Удачи.

0 голосов
/ 15 декабря 2010

Чтобы добавить к тому, что уже было отмечено, вот пара подсказок и ошибок, на которые стоит обратить внимание.

1) Visual Studio 2008 и 2010 поддерживают поддержку intellisense для jQuery с использованием файлов vsdoc. На 2008 год вам нужен SP1 или патч. В любом случае, если вы включите файл vsdoc для скрипта в ту же папку, что и ваш файл include, у вас будет поддержка разработки, например, если вы используете jquery-1.4.2.js, включите jquery-1.4.2-vsdoc.js в ту же папку. Файлы vsdoc часто отстают от текущей версии jquery, но вы можете просто переименовать предыдущую версию, которая также будет в основном работать.

2) Asp.net 3.5 или ниже, вам нужно будет использовать ClientID для ссылки на теги DOM id. Лучшие альтернативы доступны в 4.0 (см. Предыдущий ответ). В файле разметки просто используйте <%=MyControl.ClientID %>. Иногда вам может быть удобно заранее настроить некоторые ссылки:

<script type="text/javascript">
$(document).ready(function() {
  var $modalPanel = $('#<%=modalPanel.ClientID %>');
  var $myLink = $('#<%=somethingElse.ClientID %>');
  ...
  // now you can write clean looking jquery code
  $myLink.click(function(e) {
    ..
  }
}
</script>

3) Смешивание jQuery и UpdatePanels возможно, но следует понимать, что могут быть конфликты. например Использование jQuery для добавления событий к объектам, сгенерированным asp.net (как описано выше с myLink), не всегда работает, потому что asp.net также добавляет клиентский код события. Хотя общепринятая мудрость jQuery - это лучшая практика добавлять события с помощью jQuery, с asp.net часто лучше добавлять их в codebehind, чтобы они правильно играли с тем, что добавляет asp.net. Таким образом, вместо приведенного выше фрагмента для добавления обработчика кликов, в codebehind вы должны сделать:

somethingElse.Attributes.Add("click","myLinkClickFunction()");

и в сценарии:

function myLinkClickFunction()
{
  $modalPanel.dialog();
}

4) В asp.net всегда есть только одна форма с идентификатором "aspnetForm", что все, что обращается к серверу, должно жить внутри. Иногда jquery вещи (например, модальные диалоги) должны знать об этом.

5) Когда вы переходите на использование ajax, jquery может нормально общаться с asp.net, но то, как большинство людей делают это с jQuery, не совсем подходит для asp.net. Наверное, много можно сказать о нюансах, но, вообще говоря, получите плагин jquery-json и создайте ajax-запросы следующим образом:

var ajaxData = { parm1: 'value1',
    parm: 'value2'
};
// you will probably use other options too (success, error, asycn) 
$.ajax({
            url: "/my/webservice.asmx/MyMethodName",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: $.toJSON(ajaxData),
        });

Ключ в том, что вам нужно сериализовать объект jQuery в строку. Похоже, что это не относится к php (и в большинстве примеров), поэтому это может сбивать с толку, пока вы не разберетесь.

Веселись!

0 голосов
/ 15 декабря 2010

Просто включите файл jquery.js на свою страницу.

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