Как использовать плагин формы jQuery с asp.net?

Вам нужно использовать анонимную функцию, подобную этой:

$('.leadtoscore').click(function() {
  add_event('shot')
});

Вы можете вызвать ее, как в примере, просто имя функции без параметров , например :

$('.leadtoscore').click(add_event);

Но метод add_event не получит 'shot' как его параметр, но, скорее, любой click переходит к его обратному вызову, то есть самому объекту event ... поэтому он не применим в этом случае , но работает для многих других. Если вам нужно передать параметры, используйте анонимную функцию ... или есть одна опция other , используйте .bind() и передайте данные, например:

$('.leadtoscore').bind('click', { param: 'shot' }, add_event);

И получить доступ к нему в add_event, например:

function add_event(event) {
  //event.data.param == "shot", use as needed
}

7
задан 19 December 2008 в 06:56
поделиться

6 ответов

мс ajax? если я использую панель обновления, мне не нужен jQuery. я хочу использовать jQuery и плагин формы (плюс плагин проверки) только. никакая Microsoft ajax для меня, спасибо! просто посмотрите на трафик, который они производят в поджигателе для понимания почему.

4
ответ дан 7 December 2019 в 01:28
поделиться

Это зависит от того, сколько из asp.net Вы хотите использовать во время формы, отправляют. Я использую плагин форм этим тем же способом, но необходимо думать с точки зрения более классической веб-модели.

плагин форм делает 'отправление', которое не включает информации о состоянии отображения. То есть, при попытке получить значение как так

sName = txtName.text

, то текст для txtName будет пробелом. Но если Вы используете свой объект запроса, необходимо смочь задержать значение, обеспеченное Ваш знать UniqueID

sName управления = Запрос. Форма (txtName. UniqueID)

Затем то, что я сделал бы, использовать успех плагина формы: обратный вызов для выполнения вызова ajax, который задержит результаты. Можно использовать мс ajax WebMethods для этого, и можно назвать webmethods непосредственно из jQuery без потребности в менеджере скриптов мс. В этом случае WebMethod возвращает HTML, который я хочу отображенный на странице.

$(form).ajaxSubmit(function(){
   success:function(ret){
     $.ajax({
       type: "POST",
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       data: "{}",
       url: "SomePage.aspx/SomeWebMethod",
       success: function(msg){
         $('#somediv').html(msg); 
       }
   }
});
[еще 118] информация о вызове мс ajax с jquery здесь

3
ответ дан 7 December 2019 в 01:28
поделиться

Из-за пути состояние отображения сильно связывается к форме в ASP.NET, если Вы не настраиваете сервис для принятия запроса, я не уверен, будет ли это возможным. Если Вы не хотите использовать состояние отображения, то Вы могли просто использовать нормальную HTML-форму на aspx странице и утверждать, что к сервису, который возвращает Ваши ожидаемые результаты.

при представлении формы asp.net обратной передаче она передает все обратно в течение жизненного цикла страницы, я не думаю там, действительно что-либо для jQuery ajax, запрашивают говорить. Вы могли устанавливать WebMethod на странице, которая по существу подвергает сервис, и Вы могли заставить запрос jQuery говорить с этим, но я не conviced, что это работало бы.

Однако можно сделать, Ajax ASP.NET с библиотеками MS, не используя UpdatePanels, видит эту статью для хорошего краткого изложения того, что можно сделать с WebMethods и ajax библиотеками JavaScript

1
ответ дан 7 December 2019 в 01:28
поделиться

Я в настоящее время использую соединение asp.net и jQuery и способа, которым я решил проблемы с жизненным циклом страницы, и такой не должен просто использовать автообратные передачи и кнопки asp.net для представления формы.

я использую или вызовы ajax, присоединенные к простым кнопкам HTML или, когда я действительно хочу отправить всю страницу, я использую __ doPostBack (eventTarget, eventArgument) функция JavaScript.

Эти статьи были полезны для меня:

1
ответ дан 7 December 2019 в 01:28
поделиться

Это не кажется работами VS08 для Вас, но другим может быть интересно: Я перешел к Гастрольному представлению MSDN на днях, которое, казалось, сделало это очень легким. Блог Scott Gu имеет это: http://weblogs.asp.net/scottgu/archive/2008/11/21/jquery-intellisense-in-vs-2008.aspx

0
ответ дан 7 December 2019 в 01:28
поделиться

Это не работает, поскольку ASP.NET вынуждает Вас поместить все в форме сервера, пока Вы используете управление сервером (это - путь, как это обрабатывает обратную передачу). Основной проблемой, которую Вы имели бы, является HTML, не позволяет вложенную форму так или иначе, таким образом, Вы не можете даже использовать jQuery для нахождения элемента формы (thats мой опыт с FF3)

Хороший ответ (но трудно достигнуть) - выбрасывает WebForm и использует MVC.

Обходное решение компромисса - я сделал маленький плагин сам, который преобразовывает отделение в ajax, отправляют с отделением, оскорбленным с методом = "сообщение" и действие =, "URL" наряжает, затем использует Плагин Формы jQuery, чтобы сериализировать, отправить со сменным шаблоном. Это не делает Загрузки Файла, хотя (поскольку это требует IFrame, я думаю его все еще выполнимый, но беру еще некоторый взлом). Код находится в проекте моего клиента, таким образом, у меня все еще нет разрешения отправить его как плагин. Однако я думаю, что это не слишком твердо, чтобы сделать это, после того как Вы знаете теорию :)

Действительно, стремитесь к хорошему ответу (избавьтесь от WebForm) в, следующий раз. Не только Форма jQuery, собирающаяся повредить Вас, существует намного больше боли, которую необходимо взять, если бы Вы решили сделать jQuery + Веб-форма, если не требование моего клиента я никогда не буду выбирать это путь.

0
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: