2013-08-04 2 views
2

Как перенаправить с контроллера на внешний URL-адрес с помощью метода POST и передать некоторые параметры?Как перенаправить на внешний URL-адрес с параметрами POST в контроллере

В основном мне нужно делать автоматически, что бы форма сделала.

Я нашел метод перенаправления в своем контроллере, но, похоже, он принимает строку url. Нет метода и параметров.

+0

ли вам нужно перенаправить форму после публикации на нее? – Ofiris

+0

Возможный дубликат [Response.Redirect с POST вместо Get?] (Http://stackoverflow.com/questions/46582/response-redirect-with-post-instead-of-get) – Uriil

ответ

1

Вы не можете публиковать сообщения с переадресацией на сервер. Опции:

  • выполнить POST на сервере и обрабатывать результаты серверов стороны (не работает, если вам нужны куки, чтобы установить или использовать на сервере назначения по этому запросу после)
  • выполнять запись на этот сервер непосредственно на стороне браузера
  • выполнить сообщение AJAX на свой сервер и обычную почту на сервер назначения, если вам необходимо уведомить обоим.
2

Я использую Fluentx.Mvc от Nuget для этого.

Установка Fluentx.Mvc из NuGet

Вам нужно включить в коде:

using Fluentx.Mvc; 

и код для вызова внешнего URL с постом:

Сначала нужно создать a Словарь как:

Dictionary‹string, object› 
      objData = new Dictionary‹string, object›(); 

и вставки значения:

objData.Add("name", "John"); 

objData.Add("city", "NY"); 

После этого, использование возвращение из Fluentx:

return this.RedirectAndPost("http://yourexternalurl", objData); 

В ваших внешних URL, вы получите значение:

string strName = Request["nome"]; 
string strCity = Request["city"]; 
Смежные вопросы