如何修改类库中的HttpRequest QueryString值
本文关键字:HttpRequest QueryString 类库 何修改 修改 | 更新日期: 2023-09-27 18:16:50
如何修改类库中的HttpRequest QueryString值,目前可以获取QueryString值并进行修改,但是如何将修改后的QueryString写入HttpRequest:
public static HttpRequest ModiQueryString(HttpRequest request)
{
var nv = new NameValueCollection(request.QueryString);
foreach (string key in nv.Keys)
{
nv[key] = "abc";
}
//here how to let request.QueryString equal nv
return request;
}
因为请求。QueryString是只读的,所以我该怎么做?谁能帮我?由于
如果我创建一个新的HttpRequest,我可以使用:
StringBuilder newQuery=new StringBuilder();
foreach(string key in nv.Keys)
{
newQuery.AppendFormat("{0}={1}",key,FilterKeyWord(nv[key]));
}
HttpRequest newRequest = new HttpRequest("", request.Url, newQuery.ToString());
return newRequest;
这是根本不可能的,因为QueryString
是不可设置的,并且类是sealed
来引导的。
您应该在构造请求之前修改查询字符串,或者如果您只有HttpRequest
可以使用,那么保留查询字符串的临时副本(您可以编辑)并使用修改的查询字符串构造另一个HttpRequest
。