c# - 在 C# 中输出一个被操作的 QueryString

标签 c# asp.net collections query-string

使用下面的代码我得到了一个很好的格式化字符串:

Request.QueryString.ToString 

给我这样的东西:&hello=worldµsoft=sucks

但是当我使用此代码将集合克隆到另一个对象(相同类型)时,我改为从 ToString() 方法返回 Type()。

System.Collections.Specialized.NameValueCollection variables = new System.Collections.Specialized.NameValueCollection(Request.QueryString);
if (!string.IsNullOrEmpty(variables["sid"]))
    variables.Remove("sid");
Response.Write(variables.ToString());

有没有比手动查找和构建字符串更简洁的输出方式?

最佳答案

HttpValueCollection 是内部的,但您可以使用“var”声明它而无需使用反射器提取它。

var query = HttpUtility.ParseQueryString(Request.Url.Query);
query["Lang"] = myLanguage; // Add or replace param
string myNewUrl = Request.Url.AbsolutePath + "?" + query;

关于c# - 在 C# 中输出一个被操作的 QueryString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/229925/

相关文章:

c# - 当用户使用 Identity 2.0 登录时覆盖 CheckPasswordAsync

c# - 如何确定单帧 DICOM 是否实际上是 MRI 切片?

javascript - 从 Asp :Menu 运行每个 MenuItem 的 javascript 函数

asp.net - Visual Studio 2008、2010 或 2012 (v11) 是为使用多核而编写的吗?

java - 迭代列表映射字符串对象和编辑键时并发修改异常

c# - LINQ 中的日期格式

c# - 使用 EF6 加载数据库初始值设定项时出错

C#.NET 文件下载仅适用于 IE

c# - LINQ 根据内部集合值选择

java - 对于(对象对象 : list) [java] construction