2

我对 web.config 文件中的 ISAPI 规则有疑问。我想更改查询字符串的内容。这意味着我想拆分查询字符串,以便在将不需要的数据写回 URL 之前删除它。

<rule name="something">
 <matchurl=".?" />
  <condition logicalgrouping="matchall">
      <add input="{QUERY_STRING}" pattern={something2} />
  </condition>
  <action type="redirect" url="http://{HTTP_HOST}{URL}QUERYSTRING"appendQueryString="True" redirecttype="found" />

现在我想删除查询字符串的一部分。我怎样才能做到这一点?有人知道如何拆分或编辑查询字符串的内容吗?

4

1 回答 1

0

使用UriBuilderandHttpUtility来执行此操作。首先将 URL 放入UriBuilder

var uri = new UriBuilder(url);
uri.Port = -1;

现在使用查询字符串:

var query = HttpUtility.ParseQueryString(uri.Query);

然后删除你不想要的:

query.Remove("parmName");

然后将其放回原处:

uri.Query = query.ToString();
var newUrl = uri.ToString();
于 2013-09-04T12:54:26.030 回答