asp.net кнопка onclick сообщение на другую страницу

У меня есть страница в .Net, которая в настоящее время выполняет некоторую обработку информации при нажатии кнопки. Он отправляет сообщения назад, обновляет некоторую информацию и затем перенаправляет пользователя вперед.

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

Итак, я знаю о свойстве PostBackUrl, но это остановит обработку данных, которые мне нужны.

Итак, есть ли другой способ для меня как-то объединить и обратную передачу, которая затем становится POST на другой сайт?

Или, альтернативно, какой-то способ для меня сделать необходимые обновления, а затем сделать POST?

0
В конце концов это было единственное решение, которое сработало для меня: [введите описание ссылки здесь] [1] [1]: stackoverflow.com/ а/2802848/989348
добавлено автор Full Time Skeleton, источник
По какой-то причине помечается как «тривиальный ответ». Странно, потому что это рабочий ответ. Может быть, мне следовало бы скопировать и вставить его сюда или замарать на несколько страниц, чтобы это не считалось тривиальным.
добавлено автор Full Time Skeleton, источник

4 ответы

Предлагаемые решения - все это работало, но единственное, что на самом деле делало именно то, что мне было нужно, было именно этим:

Ссылка на ответ SO

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

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

1
добавлено

если PostBack не является абсолютно необходимым, вы можете фактически отправить их в запрос запроса.

0
добавлено

Если бы я получил ваш вопрос правильно, я думаю, вам нужно будет получить все данные формы из Request.Form и сделать HttpWebRequest на другом сайте:

string url = "http://anothersite.com/";

// create post data
StringBuilder postDataBuilder = new StringBuilder();
foreach (var key in this.Request.Form.AllKeys)
{
    postDataBuilder.AppendFormat("{0}={1}&", this.Request.Form[key]);
}

string postData = postDataBuilder.ToString();

// create the web request for the POST
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = postData.Length;

// add the post data
using (StreamWriter requestStream = new StreamWriter(webRequest.GetRequestStream()))
{
    requestStream.Write(postData);
}

Надеюсь это поможет!

0
добавлено
Какую ошибку вы получаете?
добавлено автор Vasil Trifonov, источник
Спасибо, пробовал это, но сайт, на который я отправляю сообщение, дает ошибку. Пока не знаю, почему.
добавлено автор Full Time Skeleton, источник
Я думаю, что это особая ошибка для шлюза оплаты, на который я пытаюсь отправить сообщение. В основном это говорит о том, что одно из полей пусто или искажено - это не так. Я прислал им пример, и они не могут найти в этом ничего плохого. Я должен предположить, что использовать этот метод нельзя, а не обычную форму POST.
добавлено автор Full Time Skeleton, источник

You can do a POST from codebehind, you can find details in this answer Redirect to another page using Post method from Code behind

0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)