Выполнить код на стороне сервера без полной обратной передачи - PullRequest
3 голосов
/ 09 июня 2010

Когда пользователь нажимает кнопку, мне нужно создать файл .bmp на сервере.После того, как файл .bmp создан, я загрузлю его на html-страницу.Будет ли Ajax лучшим способом сделать это?

Ответы [ 6 ]

4 голосов
/ 09 июня 2010

Да, AJAX - лучший способ.Это можно сделать с помощью механизмов ASP.NET AJAX , самого jQuery или другого по вашему выбору.

Если вы просто генерируете изображение для возврата в браузер, то вместо того, чтобы вызывать для него жизненный цикл страницы ASP.NET (.aspx), используйте более легкий обработчик HTTP (.ashx).Вот пример на стороне сервера .

(Обработчики HTTP работают путем наследования вашего класса от чего-то вроде DefaultHttpHandler или реализации IHttpHandler вместо класса Page.)

Дополнительно Образцы и примечания о связи AJAX:

To debug такого рода вещи очень полезно иметь утилиту HTTP Monitoring, такую ​​как Fiddler для просмотра внеполосных HTTP-запросов и ответов.

2 голосов
/ 09 июня 2010

Краткий ответ: Да.

Ajax будет лучшим способом сделать это. Посмотрите на документы JQuery для начала. Это на самом деле не так просто и не позволяет опубликовать фрагмент для иллюстрации. Вам придется освоиться с несколькими, возможно, новыми концепциями здесь.

http://docs.jquery.com/Main_Page

Вот прямая ссылка на документацию jQuery ajax.

http://api.jquery.com/category/ajax/

Если вы никогда не делали jQuery, это немного странно, но определенно стоит потратить время на то, чтобы привыкнуть.

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

Одно замечание. Вам действительно нужно вывести файл BMP, чтобы отобразить его в HTML?

BMP довольно тяжелые и несжатые, если вы должны сохранить их в этом формате на стороне сервера, возможно, вы также можете сохранить JPG-«эскиз» и вывести его. Это будет намного быстрее, когда вы решите использовать AJAX или обычные обратные передачи.

Как и все остальные, AJAX - лучший подход, потому что ответ будет намного меньше (только содержимое), чем возврат полной страницы.

Также для отладки, кроме Fiddler, мне нравится использовать Firefox с Firebug , это отличный инструмент для веб-разработки.

0 голосов
/ 09 июня 2010

Вам не нужно использовать Ajax.Вы можете установить для своей страницы значение AutoEventWireUp = "false" и обрабатывать все события вручную.Обойдите событие Page_Load при нажатии кнопки и вуаля.

0 голосов
/ 09 июня 2010

если вы хотите предоставить полезную функцию в этом, то вы должны перейти Ajax, если нет, то обратный ответ в порядке

0 голосов
/ 09 июня 2010

, если вы не хотите возвращать полный пост, да.

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