System.Collections.Specialized.NameValueCollection
fa NON sostegno questo, ma una classe interna derivata System.Web.HttpValueCollection
FA (sovrascrivendo ToString()
).
Purtroppo (essendo interno) non è possibile creare un'istanza di questa classe direttamente, ma uno viene restituito da HttpUtility.ParseQueryString()
(e si può chiamare questo con String.Empty
, ma non Null
).
volta che hai un HttpValueCollection
, si può riempire dall'originale NameValueCollection
chiamando Add()
, prima infine di chiamare ToString()
.
var nameValueCollection = new NameValueCollection {{"a","b"},{"c","d"}};
var httpValueCollection = System.Web.HttpUtility.ParseQueryString(String.Empty);
httpValueCollection.Add(nameValueCollection);
var qs = httpValueCollection.ToString();
nameValueCollection.ToString() = "System.Collections.Specialized.NameValueCollection" httpValueCollection.ToString() = "a = b = c & d"
fonte
2011-12-22 10:57:31
Domande simili http://stackoverflow.com/questions/229925/outputing-a-manipulated-querystring-in-c/ http://stackoverflow.com/questions/829080/how-to-build-a- query-string-per-a-url-in-c – Palani