Я написал некоторые методы расширения, которые я нашел очень полезными при работе с QueryStrings. Часто я хочу начать с текущей QueryString и изменить перед ее использованием. Что-то вроде
var res = Request.QueryString.Duplicate()
.ChangeField("field1", "somevalue")
.ChangeField("field2", "only if following is true", true)
.ChangeField("id", id, id>0)
.WriteLocalPathWithQuery(Request.Url)); //Uses context to write the path
Для получения дополнительной информации и источника: http://www.charlesrcook.com/archive/2008/07/23/c-extension-methods-for-asp. net-query-string-operations.aspx
Это базовый, но мне нравится стиль.