通过Web请求在asp页面之间传输变量

时间:2009-02-15 17:15:02

标签: c# asp.net vb.net

任何人都可以解释如何通过Web请求在asp页面之间传输变量。 Web请求意味着post方法,并且还建议使用asp在asp.net页面之间传递变量的最佳方法

4 个答案:

答案 0 :(得分:3)

有许多方法可以在ASP.NET页面之间传递变量 -

  1. 在会话状态
  2. 在查询字符串
  3. 从源页面读取值 (作为财产公开)
  4. MSDN article - How to Pass Values between ASP.NET pages

    我从来没有必要使用HttpWebRequest在页面之间传递值。据我了解,这是在Classic ASP中传递值的标准方法。虽然你仍然可以在ASP.NET中使用这个方法(如Alex's answer所示),但我认为你会发现上面的方法之一更简洁,一个方法适合不同的目的。

答案 1 :(得分:1)

查看System.Net.WebClient.UploadString()或System.Net.WebClient.UploadValues()

答案 2 :(得分:1)

您有其他选择,您可以使用query stringsession,使用Server.Transfer and the HttpContext

您可以执行Cross-Page Postbacks,最后一页由PreviousPage属性公开...

答案 3 :(得分:0)

网络请求是什么意思?

您可以使用网络请求将其发布到其他网页。

string myvar = "abc";
WebRequest request = WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using(Stream writeStream = request.GetRequestStream())
{
    UTF8Encoding encoding = new UTF8Encoding();
    byte[] bytes = encoding.GetBytes("myvar=" + myvar);
    writeStream.Write(bytes, 0, bytes.Length);
}

使用

检索它
string myvar = Request.Post["myvar"];

但可能你应该考虑其他选择吗?

您可以使用会话或应用程序对象进行传输。

您可以通过查询字符串传输它。