2013-12-16 79 views
2

同時擴展了mvc網站我得到了調用外部聯繫表單並傳遞HttpPost參數的要求。在傳遞HttpPost參數時導航到外部URL

var httpWReq = (HttpWebRequest)WebRequest.Create("url"); 
var encoding = new ASCIIEncoding(); 
var postData = CreatePostData(); 
var data = encoding.GetBytes(postData); 

using (var stream = httpWReq.GetRequestStream()) 
{ 
    stream.Write(data, 0, data.Length); 
} 

var response = (HttpWebResponse)httpWReq.GetResponse(); 
var rStream = response.GetResponseStream(); 

在這一點上我有一個),包括像在響應與響應頁面請求的URL和b)一個原始的HTML字符串從httpWReq.GetRequestStream()不同參數的響應。 html字符串中的隱藏字段告訴我,我的參數正確接收。

但現在該如何繼續?如果我重定向到的URL參數消失了。如果我返回一個ContentResult與作爲參數的響應中的html字符串,該網站顯示,但沒有CSS樣式。 css是相對鏈接的,本地部署的mvc應用程序正在查看該資源的localhost:port/site.css

在此先感謝

+0

你的問題不是很清楚,但我想你問如何將數據/ html內容發佈到您的MVC控制器的外部URL。那是對的嗎? –

+0

無論如何,您是否可以通過更改代碼來操縱外部網站? – heymega

+0

否。POST完成。正如我寫的那樣,響應已經將發佈的數據包含爲「hidden」字段。問題是,如果我在POST後導航到該URL,參數不可用(這很明顯)。如果我在瀏覽器中顯示來自響應的原始html,則由於相對路徑,css不會被加載。 – csteinmueller

回答

0

最後,我得到了另一個解決方案,我的問題。對於那些有興趣誰:

我創造了我的剃鬚刀模板

<form action="external-url.com" name="form_contact" id="form_contact" 
     method="POST" target="blank"> 

用我所有的參數HtmlHelpers的Html.Hidden領域

@Html.Hidden("Parametername", Model.ParameterXy) 

從我的模型綁定值內的另一種形式。

該表格通過JavaScript提交。

問候