我认为如果没有重定向,您将无法更改服务器上的 QueryString。
但是这段代码对我有用*:
我很惊讶。
所以这是我的问题:
- 为什么 Request.QueryString 是只读的?
- 为什么这个代码/黑客工作*?
- 如果在完成编辑后立即更改为只读,无论是关于错误或意外行为,还是关于维护和理解代码,它有多安全?
- 如果您只使用 PageLoad 和 OnPageRender,那么在事件周期中的哪个位置进行这种疯狂的编辑最有意义?
*更多细节:
我有一个页面,其中包含分组到选项卡中的项目。每个选项卡都是一个 asp:LinkButton
我希望能够直接链接到特定选项卡。我使用 QueryString 参数“tab=tabName”来做到这一点。有用。但是当我然后单击一个新选项卡时,查询字符串仍在 URL 中,因此查询字符串中指定的选项卡被激活,而不是我单击的选项卡。
通过使用Request.QueryString 编辑这不会发生。然后我的解决方案“有效”。
提前致谢。