2011-09-07 62 views
1

我需要使用表單準備ASP.NET網站,在代碼後面填寫表單,然後將表單提交到外部網站。以編程方式發佈HTML表單並顯示回覆

例如:用戶打開www.myshop.com/pay.aspx,他不必填寫任何內容,因爲我在代碼後面填寫表單值,然後用戶被自動重定向到外部網站www.onlinepayments.com(與表單數據在POST中發送)。

我能夠使它與常規的隱藏窗體和提交表單的JavaScript工作,但我不喜歡這種方式(用戶可以看到HTML)。

於是我就用WebRequest類在後面的代碼像這樣的回答:How do you programmatically fill in a form and 'POST' a web page?

然而,在這種應答響應是字符串(目標網站HTML)。我能用這個字符串做什麼?我希望我的用戶看到目標網站(conent和URL),就像它會在常規的HTML POST中發生一樣。

+0

您是否與您的在線支付提供商聯繫?有些服務器到服務器API,並會給你一個URL重定向到;有些將允許購物車在提交之前簽署。 –

+0

@Rowland Shaw - 沒關係 - 在線支付只是一個例子 – jlp

+0

所以你的意思是你希望他們在一個aspx頁面上填寫表單,然後當他們點擊Submit時,你發送表單值到另一個aspx頁面? – LoveMeSomeCode

回答

0

您會收到響應HTML作爲字符串 - 你可以用任何你想要做的(包括渲染HTML作爲對你的網頁,或者您也可以自定義使其等等......前HTML)

+0

,但然後用戶將看到我的URL,而不是目標網站的URL和他們的CSS路徑可能是相對等我想用戶'在'該網站,因爲它發生在普通的職位(該瀏覽器) – jlp

0

這取決於目標網站的工作方式。如果生成的頁面是靜態的,那麼在編程完成POST之後,您可以簡單地使用Response.Redirect用戶。如果該頁面基於某個會話或cookie值顯示,則無法真正將其重定向到那裏。

0

好的,在這種情況下,你可以做的是改變你的FORM標籤的動作參數。這將發送POST請求到其中包含所有表單變量的其他表單。新表單將挖掘這些POST變量並根據需要做它需要的內容