遇到的问题:
本地测试正常,线上出问题
下面两个请求:
1、/GuanWangBao/UserList.aspx?LeaguerID=0
2、/GuanWangBao/UserList.aspx
后端使用 Request.["LeaguerID"] 接收参数,前者接收到的是0,而后者接收到的是738(通过打印日志知道)
但是,本地测试的时候 这两个参数得到的值都是0(正常的)
花费了一上午的时间,才找出问题:
话说无巧不成书,也是个巧合导致的这个坑,但是归根到底还是代码习惯的问题!
原因是:
有个知识点不知道: Request从这几个集合取数据是有顺序的,从前到后
的顺序依次是 QueryString,Form,Cookies,最后是ServerVariables(这个是查资料才知道的)
使用Request获取参数的时候,刚好Cookie里面有一个和参数名一样的cookie叫LeaguerID,这样就导致,
请求 /GuanWangBao/UserList.aspx获取到的LeaguerID是cookie里的值
本地测试之所以是正常的,是因为本地开发域名里面没有写cookie,写cookie的域名是固定的(正式服域名)
所以,解决办法就是:把Request["LeaguerID"]换成Request.QueryString["LeaguerID"] 就可以了
总结:良好的代码习惯平时看来可能没什么问题,但是一旦出现问题,很难发现(写给自己);另一方面是自己基础不牢,记录一下,长个记性
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。