C# 带重定向的ASP.net帖子?
基本上,我想获取一个URLString,分解所有变量及其值,然后将它们发布到另一个页面,并重定向到taht页面。。我如何在没有表单和实际提交等情况下完成此操作 这就是我得到的C# 带重定向的ASP.net帖子?,c#,asp.net,post,C#,Asp.net,Post,基本上,我想获取一个URLString,分解所有变量及其值,然后将它们发布到另一个页面,并重定向到taht页面。。我如何在没有表单和实际提交等情况下完成此操作 这就是我得到的 string url = "http://www.blah.com/xyz.aspx"; StringBuilder postData = new StringBuilder(); postData.Append("CustomerID=" + HttpUtility.UrlEn
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();
}
因为您不能同时重定向和发布,所以您唯一的选择是使用页面加载时提交的表单呈现html页面。当然,除非你能让接收者接受url中的参数。如果它是您要“发布”到的asp.net页面,那么您是否在querystring中发送数据并不重要,当然,除非您发送的是大量数据
请记住,重定向与告诉浏览器“改为转到此页面”相同。此信息位于您返回的http标头中。因此,在呈现自动提交的表单时不会有太多开销。您需要将用户重定向到的页面做什么?最好的选择是使用会话变量在重定向时在页面之间传递数据,除非您希望保留最初传递给页面的表单 您可以使用如下代码将信息添加到会话项中
Session.Item("CustomerID") = "CustomerID=" & ID.ToString
我不确定这是否是正确的策略-您是否考虑过处理请求或内部重定向?您无法重定向和发布。Dang这就是我的懒惰但不想做的:)好的,谢谢Mangod point Frazell,但会话仅在您重定向到同一应用程序内的页面时有效。是的。我假设它在同一个应用程序中,但我们需要更多信息才能确定。