asp.net – 为什么Request.QueryString只读?
发布时间:2020-12-16 03:30:57 所属栏目:asp.Net 来源:网络整理
导读:我以为你不能在没有重定向的情况下更改服务器上的QueryString. 但是这段代码对我有效: Request.QueryString edit 我很惊讶. 以下是我对此的疑问: 为什么Request.QueryString只读? 为什么这个代码/黑客工作*? 如果您在完成编辑后立即更改为只读,包括错误
我以为你不能在没有重定向的情况下更改服务器上的QueryString.
但是这段代码对我有效: Request.QueryString edit 我很惊讶. 以下是我对此的疑问: >为什么Request.QueryString只读? *更多细节: 我有一个页面,其中包含分组到选项卡的项目.每个选项卡都是一个asp:LinkBut??ton 我希望能够直接链接到特定选项卡.我使用QueryString参数’tab = tabName’来做到这一点.有用.但是当我单击一个新选项卡时,查询字符串仍然在Url中,因此Querystring中指定的选项卡被激活,而不是我单击的选项卡. 通过使用Request.QueryString edit,这不会发生.然后我的解决方案“有效”. 提前致谢. 解决方法
那么QueryString属性是只读的,因为它不能在单个请求上更改.显然,浏览器只发送一个只有一个字符串的请求,因此只创建一个集合.黑客使用反射(即操纵代码和内存)来改变你无法正常改变的东西.这个hack打破了QueryString属性的封装和设计.你不应该使用它.从设计的角度来看,没有任何意义.您的查询不会更改,所以为什么要更改代表它的对象?只有浏览器才能发送新的查询字符串,因此您基本上可以使用自己的代码来了解浏览器发送的内容.
如果您希望选项卡使用URL,请使用超链接而不是LinkBut??ton. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – asp.net web farm中丢失的会话状态
- asp.net – MSDeploy.exe可以作为管理员连接,但不能连接任何
- 使用一般处理程序HTTPHandler下载文件
- asp.net-mvc – Windows Azure上的ASP.NET MVC是生产环境的
- asp.net – 如何在DotVVM viewmodel中创建会话变量?
- asp.net – 什么是DefaultWsdlHelpGenerator.aspx?
- asp.net – .NET 4.0 ObjectCache的线程安全和范围管理
- asp.net-mvc – ASP.NET MVC路由和区域
- 在asp.net中删除字符串变量中的整数值
- asp.net-mvc-routing – 在.NET MVC 4.0 URL结构中强制使用
推荐文章
站长推荐
- asp.net-mvc – IE10将令牌注入到.NET MVC链接中
- asp.net – 是否有可能欺骗或重用VIEWSTATE或检测
- asp.net-mvc – MVC 5继承的脚手架使用错误的实体
- 如何下载特定版本的ASP.NET MVC 5源代码
- asp.net-mvc-3 – 在MVC3区域中使用Webform
- asp.net – WCF服务问题 – 不支持协议“http”.
- 序列化 – Newtonsoft中的TypeNameHandling需要$
- asp.net – 间歇性SQL连接错误
- asp.net – 如何单元测试使用HostingEnvironment
- 使用ASP.NET Core 2.0进行用户管理
热点阅读