基本上我想要一个URLString并打破所有变量及其值并将它们发布到另一个页面,并重定向到taht页面.如何在没有表格和实际提交等的情况下将其关闭...
这就是我得到的......
string url = "http://www.blah.com/xyz.aspx";
StringBuilder postData = new StringBuilder();
postData.Append("CustomerID=" + HttpUtility.UrlEncode("Hello Rico") + "&");
postData.Append("FirstName=" + HttpUtility.UrlEncode("HelloFirstName"));
//ETC for all Form Elements
// Now to Send Data.
StreamWriter writer = null;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.ToString().Length;
try
{
writer = new StreamWriter(request.GetRequestStream());
writer.Write(postData.ToString());
writer.Flush();
HttpWebResponse WebResp = (HttpWebResponse)request.GetResponse();
//Now, we read the response (the string), and output it.
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
Response.Write(_Answer.ReadToEnd());
}
finally
{
if (writer != null)
writer.Close();
}
Run Code Online (Sandbox Code Playgroud)
由于您无法同时进行重定向和发布,因此您唯一的选择是使用在页面加载时提交的表单来呈现 html 页面。当然,除非你能让接收者接受url中的参数。如果您想要“发布”到一个 asp.net 页面,那么您是否在查询字符串中发送数据并不重要,除非您发送大量数据。
请记住,重定向与告诉浏览器“改为转到此页面”相同。此信息位于您返回的 http 标头中。因此,渲染自动提交的表单不会有太多开销。
| 归档时间: |
|
| 查看次数: |
3482 次 |
| 最近记录: |