在转换经典ASP代码为ASP.NET代码

问题描述:

Set xml = Server.CreateObject("Microsoft.XMLHTTP") 
xml.Open "GET", "http://www.indexguy.com/request_server.cfm?member_id=15893&id="+request.querystring("id")+"&"+request.querystring, False 
xml.Send 

如何建立查询字符串参数在C#中的字符串对象/ VB.NET在转换经典ASP代码为ASP.NET代码

"member_id=15893&id="+request.querystring("id")+"&"+request.querystring" 

对于ASP.NET需要帮助,你想要用HttpWebRequest替换Server.CreateObject("Microsoft.XMLHTTP")

至于建立查询字符串,这仍然是相同的。您仍然可以通过编入Request.QueryString来检索查询字符串参数。如果你使用C#,你可以保留字符串连接的+,但在VB中使用&可能更容易接受。

如果您正在寻找构建查询字符串,String.Format("{0}", arg)可能是一个更清洁的方法来构建它。

在ASP.NET中Page类公开Request属性,它提供了访问QueryString财产 - 这是一个NameValueCollection,让你获取值出几乎相同的方式在现有的例子,通过指定键:

var id = Page.Request.QueryString("id"); 

var newQuery = string.Format("?member_id=15893&id={0}&", id); 

上面的代码可以很容易地扩展到更多的查询字符串中。

至于您要发起的请求,可以使用WebRequest实例来实现;仅稍微改变MSDN的样品,这里是一个例子:

WebRequest request = WebRequest.Create(yourUrl + newQuery); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
Response.Write(response.StatusDescription); 

Stream dataStream = response.GetResponseStream(); 
StreamReader reader = new StreamReader (dataStream); 
string responseFromServer = reader.ReadToEnd(); 
Response.Write(responseFromServer); 

reader.Close(); 
dataStream.Close(); 
response.Close();