C# 如何修改类库中的HttpRequestQueryString值?

C# 如何修改类库中的HttpRequestQueryString值?,c#,query-string,httprequest,C#,Query String,Httprequest,如何在类库中修改HttpRequest查询字符串值,我当前可以获取查询字符串值并进行修改,但是如何将修改后的查询字符串写入HttpRequest: public static HttpRequest ModiQueryString(HttpRequest request) { var nv = new NameValueCollection(request.QueryString); foreach (string key in nv.Keys) { nv

如何在类库中修改HttpRequest查询字符串值,我当前可以获取查询字符串值并进行修改,但是如何将修改后的查询字符串写入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;
}
因为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;

这是不可能的,因为它不可设置,并且类是密封的


您应该在构造请求之前修改查询字符串,或者如果您只有一个
HttpRequest
可供使用,则保留查询字符串的临时副本(可以编辑),并使用修改后的查询字符串构造另一个
HttpRequest

这是不可能的,因为它不可设置,并且类是密封的要引导的


您应该在构造请求之前修改查询字符串,或者如果您只有一个
HttpRequest
可供使用,则保留查询字符串的临时副本(可以编辑),并使用修改后的查询字符串构造另一个
HttpRequest

为什么要,为什么需要修改查询字符串?我想创建一个用于筛选关键字的公共服务为什么要,为什么需要修改查询字符串?我想创建一个用于筛选关键字的公共服务keyword@artwl:请发布代码作为问题的编辑。在评论中阅读它是非常困难的。@artwl:请将代码作为问题的编辑发布。在评论中阅读它是非常困难的。