c# - 更改查询字符串内容编辑或从 Web 配置文件拆分(QUERY_STRING 服务器变量)

标签 c# .net

我对 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" />

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

最佳答案

使用 UriBuilderHttpUtility 来做到这一点。首先将 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();

关于c# - 更改查询字符串内容编辑或从 Web 配置文件拆分(QUERY_STRING 服务器变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614145/

相关文章:

c# - 从 CreatedUser 事件中取消 CreateUserWizard

c# - wcf方法参数中的反序列化json为空

c# - 将数据保存在内存中

c# - .NET 中的货币格式在金额和货币之间提供空白

c# - ASP.NET HeadLoginView 注销 单击。也退出其他本地网站

c# - `stackalloc`关键字的实际使用

c# - c++ 强制转换重载等效

c# - 在类名中添加模型值?

c# - .NET 如何确定字符的 Unicode 类别?

c# - 首先使用代码在 MySQL 中创建 NVARCHAR 列?