2013-12-04 2 views
0

Я побывал на множестве сообщений об AJAX в ASP .Net, но я все еще не убежден в использовании обновляемой панели. Даже когда мы используем updatepanel, система будет проходить весь жизненный цикл элемента.ASP.Net Ajax и postback

Например, простое добавление двух чисел и отображение его в текстовом поле должно пройти жизненные циклы страницы. Я не знаю, правильно ли я понимаю.

Мы можем использовать веб-методы или использовать веб-службы и т. Д., Но проблема в том, что мы не сможем получить доступ к элементам/элементам управления. Я мог бы использовать JQuery, но в итоге я получил ту же проблему, что и не смог получить доступ к элементам/элементам управления.

Пожалуйста, помогите мне в правильности моего понимания или нет. Заранее спасибо.

+0

Yesss. Но простая вещь, которую вы должны знать, заключается в том, как управлять элементами управления в Html и как использовать jQuery для управления этими html DOM. Вам не понадобятся средства управления на стороне сервера, если вы это знаете лучше. –

ответ

1

панель Update является одним из наиболее простым способом реализации AJAX на вашем сайте. В вашей локальной системе вы можете сбросить полдюжины панели обновления, и она будет работать плавно.

Однако эта же панель обновления будет проходить весь жизненный цикл страницы и может создать узкие места производительности в живой среде. Использование панели обновления также увеличит общий размер страницы.

Методы Страница гораздо лучше, так как вместо того, чтобы разместить обратно, а затем получать HTML-разметку, чтобы полностью заменить содержимое наших UpdatePanel, мы можем использовать метод, чтобы запросить только ту информацию, что мы заинтересованы.

Отвечая на ваш вопросы:

Понимание верное?

Ваше понимание ASP.NET AJAX/JQuery совершенно правильно.

Проблема с доступом к элементам управления в коде за файлами?

Только ASP.NET ajax позволит вам получить доступ к элементам управления в коде за файлами. Однако это связано с узким местом производительности. Как только вы привыкнете к другим фреймворкам Javascript, таким как JQuery, вы всегда найдете обходной путь решения этой проблемы.

Мое предложение - использовать ASP.NET AJAX на сайте, где требования к производительности не слишком высоки.Вы также можете использовать его в приложении интрасети.

Но когда дело доходит до производительности, используйте небольшую javascript-библиотеку.

1

Да. В веб-методе или веб-сервисе вы не можете получить доступ к веб-элементам управления. Но если вы хотите присвоить значения элементу управления, вы можете вернуть значение и назначить элементу управления.

Давайте рассмотрим пример добавления двух значений.

В TextBox1 вставке 5 и в TextBox2 вставке 6.

Теперь на события нажатия кнопки добавления вызова веб-метод с помощью JQuery и передать значения TextBox1 и TextBox2 в качестве входного параметра. и вернуть сумму этих двух значений.

В событии OnSuccess вызова Ajax вы можете присвоить значение результата метке, на которой вы хотите отобразить сумму.

function GetAnswer() { 
    $.ajax({ 
     type: "Post", 
     url: "Default.aspx/GetAnswer", 
     data: "{'value1':'5', 'value2' : '6'}", 
     contentType: "application/json; charset=utf-8", 
     success: function (result) { 
      alert(result.d); 
     } 
    }); 
} 

и веб-метод:

[WebMethod] 
public static int GetAnswer(int value1, int value2) 
{ 
    return value1 + value2; 
} 
0

Вы говорите действительно о двух совершенно разных подходах. Веб-формы ASP.NET (в которых вы используете обновления) фокусируются на обработке на стороне сервера. Он пытается притвориться, что Интернет является подключенной инфраструктурой, когда действительно клиент и сервер сильно отключены. UpdatePanels просто пытаются предотвратить «мигание», но они не AJAX в чистом виде (который фокусируется только на отправке данных через провод, а не в HTML).

UpdatePanels просто заменяет большие фрагменты HTML через AJAX, а не стандартные запросы браузера (т. Е. Страница обновляется, и вы получаете новый HTML-код с сервера). Таким образом, вы теряете преимущество AJAX, поскольку вы по-прежнему переносите большое количество текста (HTML, отображаемый на сервере).

С другой стороны, существуют и другие архитектуры, которые Microsoft нажимает на некоторое время. ASP.NET MVC гораздо более дружелюбен к подходу «AJAX с jQuery». Кроме того, приложения Single Pages (SPA) - это настоящая ярость, и у Microsoft есть подход для этого через KnockoutJS. Эти подходы сосредоточены на предоставлении клиентской стороне HTML, и только данные поступают с сервера. Вы должны иметь гораздо лучшее представление о том, как работает сеть, но она значительно отличается гибкостью, производительностью и удобством использования.

В конечном счете, если для вас важно иметь опыт работы с рабочим столом (обновление страницы не обновляется), тогда веб-формы ASP.NET, вероятно, не лучший выбор для вас.