SOS ~~~ Response.Redirect()多个参数传递问题?

zhangzhiwei 2005-07-22 03:03:29
当我要转到另一页面上时,同时还要多个参数,我用下面的方法传递。
Response.Redirect("EditCentaline_BranchInfo.aspx?QueryItem="+strItem); 当我strItem 的值为
strItem= "姓名 like '%张'%"时,在EditCentaline_BranchInfo.aspx页面中用Request"QueryItem"]取得的值为 "姓名 like '%张'%" ,但是,当strItem= "姓名 like '%24%'" 时。在EditCentaline_BranchInfo.aspx页面中用Request"QueryItem"]取得的值为 "姓名 like '%$'%" ,也就是说,当strItem 的参数有参数时,后面用Request"QueryItem"]取得原来的参数就会乱码。有没有什么办法能够解决这个问题?
还想问下,就是我的Session 老是会过期。我在Web.Config文件里的<sessionState 中也配置了timeout="1000" 的,还有在Global.asax 的Session_Start事件里也写了Session.Timeout = 600的。但是好象都无效,页面打开后过了一段时间后Session 还是失效了。这个该怎么办啊,好象我设置的都没有生效的~~
...全文
582 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
eyych 2005-07-25
  • 打赏
  • 举报
回复
赋值给一个公共类的公共函数,
这样所有的页面都可以用了,不用两个页面的传来传去。。。
netren2000 2005-07-25
  • 打赏
  • 举报
回复
把Web.config文件中的此项设置一下试试
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
zhangzhiwei 2005-07-25
  • 打赏
  • 举报
回复
自己顶啊。
zhangzhiwei 2005-07-22
  • 打赏
  • 举报
回复
那还有什么好的方法来传送这些参数呢?用SESSION 吗?怎么样做才能确保安全!
seaonce 2005-07-22
  • 打赏
  • 举报
回复
个人认为在地址栏中传语句是很不切实际的做法
zhangzhiwei 2005-07-22
  • 打赏
  • 举报
回复
防范Sql注入的部分我没做啊,大家这个都怎么做的啊,比如要传一些查询条件到另个窗体。?
还有我加了Server.UrlEncode()的。但是结果,数字部分还是乱码。郁闷~还有什么别的解决方法吗?


你重新编译过你自己不记得了吧,所以才Session老失效~ 我这个好想是这样的。
evlon 2005-07-22
  • 打赏
  • 举报
回复
回复人: jinru2560(gjr) ( ) 信誉:100 2005-07-22 15:14:00 得分: 0

这样写:Response.Redirect("EditCentaline_BranchInfo.aspx?QueryItem="+Server.UrlEncode(strItem));
因为在用URL传输参数过程中会把参数FORMAT掉,用Server.UrlEncode()转换一个会没问题的。
have a try
-------------------

严重同意

不过看楼主的意思是要传一个Sql语句,这样可是不安全的!

不知道你有没有做好防范Sql注入的部分


DRRDRRDRR 2005-07-22
  • 打赏
  • 举报
回复
就是我的Session 老是会过期。我在Web.Config文件里的<sessionState 中也配置了timeout="1000" 的,还有在Global.asax 的Session_Start事件里也写了Session.Timeout = 600的。但是好象都无效,页面打开后过了一段时间后Session 还是失效了。这个该怎么办啊,好象我设置的都没有生效的~~
---------------------------------------------------------------------------
你重新编译过你自己不记得了吧,所以才Session老失效~
jinru2560 2005-07-22
  • 打赏
  • 举报
回复
这样的话见议你利用公共属性来传递参数,这样不会有此类现象了。
zhangzhiwei 2005-07-22
  • 打赏
  • 举报
回复
我试过的。Server.UrlEncode(strItem)。这样的话,如果我在参数里有 数字,然后在后面得到的数字还是乱码,中文的“张”字没问题的~比如参数中 有数字 "24",然后在下一页中得到的参数"24"就变成"$"美圆符号了。
jimu8130 2005-07-22
  • 打赏
  • 举报
回复
最好用urlencode还有urldecode方法来传递和解析
sfar 2005-07-22
  • 打赏
  • 举报
回复
嗯,同意楼上的,把参数编码下再传
jijl2001 2005-07-22
  • 打赏
  • 举报
回复
Server.UrlEncode(strItem))这样写吧,以前也遇到过,加了解决了
jinru2560 2005-07-22
  • 打赏
  • 举报
回复
这样写:Response.Redirect("EditCentaline_BranchInfo.aspx?QueryItem="+Server.UrlEncode(strItem));
因为在用URL传输参数过程中会把参数FORMAT掉,用Server.UrlEncode()转换一个会没问题的。
have a try
davidposeidon 2005-07-22
  • 打赏
  • 举报
回复
URL传递中文会出现乱码,你要转换到UTF-8,或者参考下列代码:

//webForm1.aspx
Response.Redirect("webForm2.aspx?userid=张");

//webForm2.aspx
string a = System.Web.HttpUtility.UrlDecode("userid");
xvhaijun 2005-07-22
  • 打赏
  • 举报
回复
建议你不要传汉字值的参数。
ItemList还有个value值,可以将value传过去,在通过取到的value值设法得到TEXT的值
zhangzhiwei 2005-07-22
  • 打赏
  • 举报
回复
上面的话有错别字呀,对不起。
这句话应该为:“也就是说,当strItem 的参数有数字时,后面用Request"QueryItem"]取得原来的参数就会乱码。有没有什么办法能够解决这个问题?”

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧