//
// 摘要:
// 终止执行当前页,并开始使用新页的指定 URL 路径来执行新页。指定是否清除
// System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form 集合。
//
// 参数:
// preserveForm:
// 为 true,则保留 System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form
// 集合;为 false,则清除 System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form
// 集合。
//
// path:
// 服务器上要执行的新页的 URL 路径。
public void Transfer( string path, bool preserveForm);
// 摘要:
// 终止执行当前页,并开始使用新页的指定 URL 路径来执行新页。指定是否清除
// System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form 集合。
//
// 参数:
// preserveForm:
// 为 true,则保留 System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form
// 集合;为 false,则清除 System.Web.HttpRequest.QueryString 和 System.Web.HttpRequest.Form
// 集合。
//
// path:
// 服务器上要执行的新页的 URL 路径。
public void Transfer( string path, bool preserveForm);
遇到这样的要求,当前是在有QueryString的页面上,然后点一个按钮,想回到与当前页面相同,但不带QueryString的页面,我只找到这个方法来实现。浏览器的地址栏里仍然还带有QueryString参数,但实际上这时已经被清除了。
开始还看到有QueryString.Clear() 和QueryString.Remove(string name)两个方法,但是都不能用,QueryString集合只有Get没有Set,只读。哎还是代码写的少经验不足。不过VS的IDE应该把只读集合、属性的一些写方法给直接屏蔽掉啊,这样不知道的人,比如我,就不用等到运行时才发现是只读的!