使用以下代码我得到一个很好的格式化字符串:
Request.QueryString.ToString
给我一些像:&hello = worldµsoft =糟透了
但是,当我使用此代码将集合克隆到另一个对象(相同类型)时,我从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;
您还可以使用Reflector将HttpValueCollection
类提取到您自己的类中,然后使用它.