powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Отправка формы через .ashx
5 сообщений из 5, страница 1 из 1
Отправка формы через .ashx
    #33882520
detox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго...

Задача обычная: необходимо заполнить форму пользовательскими данными и отправить его на другую страницу.
Для этого создал .ashx файл и гененрю необходимый html и JS делаю submit формы, все выглядет примерно так:



 public void ProcessRequest (HttpContext context) {       
        context.Response.ContentType = "text/html";
        string html = "<form id="formsend" action="http://test.server.com"><input type="hidden" value="test"></form><script>document.getElementById("formsend").submit();</script>"
context.Response.Write(html);
}

В принципе работает, но это выглядет не элегантно. Да и привязка к JS не очень устраивает, конечно можно прописать еще кнопку


<noscript><input type="submit"/></noscript>

Но как-то все это не надежно. Может есть более эффективный способ решения проблемы.
...
Рейтинг: 0 / 0
Отправка формы через .ashx
    #33882587
kaer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, detox, Вы писали:

D>Доброго...

D>Задача обычная: необходимо заполнить форму пользовательскими данными и отправить его на другую страницу.
D>Для этого создал .ashx файл и гененрю необходимый html и JS делаю submit формы, все выглядет примерно так:


D>
D> public void ProcessRequest (HttpContext context) {       
D>        context.Response.ContentType = "text/html";
D>        string html = "<form id="formsend" action="http://test.server.com"><input type="hidden" value="test"></form><script>document.getElementById("formsend").submit();</script>"
D>context.Response.Write(html);
D>}
D>

D>В принципе работает, но это выглядет не элегантно. Да и привязка к JS не очень устраивает, конечно можно прописать еще кнопку

D>
D><noscript><input type="submit"/></noscript>
D>

D>Но как-то все это не надежно. Может есть более эффективный способ решения проблемы.

Сделайте WebRequest на сервере. Тип запроса POST. Контент запроса — все та же html.
...
Рейтинг: 0 / 0
Отправка формы через .ashx
    #33883950
detox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, kaer, Вы писали:

K>Сделайте WebRequest на сервере. Тип запроса POST. Контент запроса — все та же html.

А как я переправить пользователя на ту страницу, куда я отправляю запрос?
Как заполнить контент WebRequest html кодом я не понял.
...
Рейтинг: 0 / 0
Отправка формы через .ashx
    #33883970
kaer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, detox, Вы писали:

D>Здравствуйте, kaer, Вы писали:

K>>Сделайте WebRequest на сервере. Тип запроса POST. Контент запроса — все та же html.

D>А как я переправить пользователя на ту страницу, куда я отправляю запрос?

Это я пропустил. Если нужно сделать одновременно POST запрос и редирект пользователя — самый надежный вариант postback формы через js нет.

D>Как заполнить контент WebRequest html кодом я не понял.


HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://test.com");
using ( Stream stream = req.GetRequestStream())
{
   //...
}

После этого можно получить результат и показать его на своей странице. Будет это работать или нет — зависит от той страницы куда идет запрос.
...
Рейтинг: 0 / 0
Отправка формы через .ashx
    #33883973
kaer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, detox, Вы писали:

D>Здравствуйте, kaer, Вы писали:

K>>Сделайте WebRequest на сервере. Тип запроса POST. Контент запроса — все та же html.

Это я пропустил. Если нужно сделать одновременно POST запрос и редирект пользователя — самый надежный вариант postback формы через js.

D>А как я переправить пользователя на ту страницу, куда я отправляю запрос?
D>Как заполнить контент WebRequest html кодом я не понял.



HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://test.com");
using ( Stream stream = req.GetRequestStream())
{
   //...
}


После этого можно получить результат и показать его на своей странице (не забудьте выставить тип отравления POST и ContentLength). Будет это работать или нет — зависит от той страницы куда идет запрос.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Отправка формы через .ashx
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]