2013-08-04 72 views
2

如何使用POST方法將一個控制器重定向到外部URL並傳遞一些參數?如何在控制器中使用POST參數重定向到外部URL

基本上我需要自動做一個表單會做什麼。

我在我的控制器中發現了Redirect方法,但它似乎只接受一個url字符串。沒有方法和參數。

+0

你需要重定向到表格發佈後呢? – Ofiris

+0

[Response.Redirect with POST而不是Get?]的可能重複(http://stackoverflow.com/questions/46582/response-redirect-with-post-instead-of-get) – Uriil

回答

1

您無法使用服務器端重定向進行發佈。選項:

  • 對服務器進行POST和處理結果的服務器端
  • 到該服務器直接在瀏覽器端執行後(如果你需要cookies來設置或由POST請求目標服務器上使用不工作)
  • 如果您需要通知兩者,請將AJAX發佈到您的服務器,然後正常發佈到目標服務器。
2

我使用的是來自Nuget的Fluentx.Mvc。

從安裝的NuGet Fluentx.Mvc

你需要在你的代碼包括:

using Fluentx.Mvc; 

和代碼來調用一個外部URL與職務:

首先創建字典如:

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

,並插入值:

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

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

之後,從Fluentx使用回:

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

在你的外部鏈接,你得到的值:

string strName = Request["nome"]; 
string strCity = Request["city"]; 
相關問題