在转换经典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();