需要帮助将经典ASP代码转换为ASP.NET代码

时间:2011-08-27 17:46:22

标签: 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

中为字符串对象构建查询字符串参数
"member_id=15893&id="+request.querystring("id")+"&"+request.querystring"

3 个答案:

答案 0 :(得分:1)

对于ASP.NET,您需要将Server.CreateObject("Microsoft.XMLHTTP")替换为HttpWebRequest

至于构建查询字符串,它仍然是相同的。您仍然可以通过索引到Request.QueryString来检索查询字符串参数。如果您正在使用C#,则可以保留+以进行字符串连接,但在VB中使用&可能更容易接受。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

在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();