отправить массив значений в веб-сервис http через ajax и прочитать на веб-сервере asp.net - PullRequest
2 голосов
/ 10 ноября 2011

Мне просто интересно, как это сделать:

У меня есть страница, которая показывает некоторые табличные данные. В каждом ряду есть флажок. Пользователь выбирает два или более флажков; моя веб-страница должна найти соответствующие идентификаторы проверенных строк. Я должен отправить это на веб-сервис http. (в основном файл * .ashx). У меня два вопроса:

  1. как я получу доступ к этому на веб-сервере
  2. как мой веб-сервер узнает общее число нет. из предметов, которые я прошел. Нужно ли вручную отправлять это на сервер в качестве параметра http post?
  3. что если данные, которые я отправляю, являются более сложными, как объект person, который имеет поля, такие как FirstName, LastName и т. Д.?

Я знаю, что могу использовать веб-сервис asp.net или сервис wcf, предоставляющий доступ к данным. Но что является лучшим способом справиться с этим без затрат SOAP; Что делать, если вы отправляете все эти данные через ajax как обычное сообщение http?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2011

1. Как я получу доступ к этому на веб-сервере

Использование postback (и элемента управления checkboxlist) или обработка POST самостоятельно. GET не подходит для этой задачи.

2. Как мой веб-сервер узнает общее количество нет. из предметов, которые я прошел. Нужно ли вручную отправлять это на сервер в качестве параметра http post?

Он отправит обратно значение каждого флажка, имеющегося у вас в форме, что даст вам общую сумму.

3. Что если данные, которые я отправляю, являются более сложными, как объект person, который имеет поля, такие как FirstName, LastName и т. Д.?

Вы можете использовать Viewstate для этого или просто собрать объекты на сервере. Как правило, это означает, что необходимо ввести идентификатор в значение флажка для лица, которое представляет каждый флажок - вам не нужно отправлять обратно каждый фрагмент информации об объекте.

Каков наилучший способ справиться с этим без затрат SOAP; Что делать, если вы отправляете все эти данные через ajax как обычное сообщение http?

jQuery и JSON были бы лучшим решением для этого, если вы хотите обойти встроенные элементы управления ASP.NET ajax. Как и предполагалось, jQuery - это самая простая библиотека Javascript для клиентской части задачи - вам нужно использовать $. Post

0 голосов
/ 10 ноября 2011

http://jquery.malsup.com/form/#getting-started может стоить исследовать в качестве отправной точки.

Что касается ваших вопросов, ответы будут частично в зависимости от того, используете ли вы MVC или WebForms.Но в целом:

  1. Если вы используете вышеупомянутый плагин, вы получите к нему доступ так же, как и к обычной форме отправки (публикации).
  2. Они будут заполнены в Request.Form .
  3. Это не должно быть проблемой.Привязка к модели на MVC должна справиться с этим, я не уверен на 100% в эквиваленте на WebForms (вы всегда можете сделать это вручную).

Мое предложение было бы сейчас игнорировать требование AJAX.Получите его работу со стандартной формой отправки (POST).Затем вернитесь и интегрируйте вышеуказанный плагин, чтобы включить AJAX.

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