【发布时间】:2009-02-15 17:15:01
【问题描述】:
谁能解释如何通过网络请求在asp页面之间传输变量。 Web 请求是指 post 方法,也建议在 asp.net 页面之间传递变量的最佳方法
【问题讨论】:
-
您指的是经典 ASP 还是 ASP.NET?您的标签适用于 .NET,但您的问题似乎与 Classic ASP 有关。
-
谢谢。我只引用 asp.net
谁能解释如何通过网络请求在asp页面之间传输变量。 Web 请求是指 post 方法,也建议在 asp.net 页面之间传递变量的最佳方法
【问题讨论】:
您可以通过多种方式在 ASP.NET 页面之间传递变量-
MSDN article - How to Pass Values between ASP.NET pages
我从来不需要使用HttpWebRequest 在页面之间传递值。据我了解,这是在 Classic ASP 中传递值的标准方法。虽然您仍然可以在 ASP.NET 中使用此方法(如 Alex's answer 所证明的那样),但我认为您会发现上述方法中的一种更简洁,并且适合不同的目的。
【讨论】:
看看 System.Net.WebClient.UploadString() 或 System.Net.WebClient.UploadValues()
【讨论】:
你有一些选择,你可以使用query string,session,使用Server.Transfer and the HttpContext。
你可以做Cross-Page Postbacks,最后一页由PreviousPage属性暴露...
【讨论】:
网络请求是什么意思?
您可以使用网络请求将其发布到另一个页面。
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"];
但是您是否应该考虑其他选择?
您可以使用 Session 或 Application 对象来传输它。
您可以通过查询字符串传输它。
【讨论】: