目前我们在asp.net应用程序中广泛使用query-string。几天前我们一直致力于改善网站。在此我们首先决定不在地址栏上显示网页的完整网址,我问this question regarding it on SO
我们得到的最好方法是使用server.transfer()。但现在看来查询字符串不能用它!有没有解决方法,所以我们可以使用查询字符串,不要在地址栏上显示网页的网址。请指导。
提前致谢。
答案 0 :(得分:2)
Server.Transfer应该通过any existing querystring or form collections传递给被叫处理程序。
Transfer方法保留QueryString和Form集合。
如果您致电Server.Transfer(path, preserveForm)
,请确保将第二个参数设置为true
。
但是,正如您所发现的那样,在调用Server.Transfer方法时,无法使用查询字符串设置URL的路径。
请注意沿着这条路线出现以下潜在问题:
答案 1 :(得分:0)
为什么要隐藏查询?是否有任何私人信息,如果是这样,我建议将其保存在会话中。
答案 2 :(得分:0)
如果将Transfer方法与PreservForm一起使用,则可能存在视图状态验证问题。 来自一个页面的回发数据可能与另一个页面的预期回发数据不匹配。