关于Request URL的问题,谢谢帮忙解决

红街咖啡 2010-08-08 03:18:24
http://127.0.0.1/a.asp?msg=333#444
我用request["msg"]只能获取到333
我需要怎么样才能获取到333#444
帮忙解决一下这个问题.ASP里面是正常的.
尽量附上一个代码小片段吧.谢谢
...全文
461 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongjiaoli 2010-08-12
  • 打赏
  • 举报
回复
URL中的特殊字符
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。
下表中列出了一些URL特殊符号及编码
 
      十六进制值
1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. # 表示书签 %23
7. & URL 中指定的参数间的分隔符 %26
8. = URL 中指定参数的值 %3D

例:要传递字符串“this%is#te=st&o k?+/”作为参数t传给te.asp,则URL可以是:
te.asp?t=this%25is%23te%3Dst%26o%20k%3F%2B%2F 或者
te.asp?t=this%25is%23te%3Dst%26o+k%3F%2B%2F (空格可以用%20或+代替)
wangjunfeng2010 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 41 楼 nddavid 的回复:]

引用 2 楼 q107770540 的回复:
C# code

Response.Redirect("Test.aspx?msg=" + Server.UrlEncode("333#444"));


string s= Server.UrlDecode(Request.QueryString["msg"]);
Response.Write(s); //结果:333#444

……
[/Quote]

人家都说了,过来的URL不是自己控制的.
wuqionghuang 2010-08-09
  • 打赏
  • 举报
回复
楼上的兄弟姐妹们描述的都差不多了~~
NDDavid 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
C# code

Response.Redirect("Test.aspx?msg=" + Server.UrlEncode("333#444"));


string s= Server.UrlDecode(Request.QueryString["msg"]);
Response.Write(s); //结果:333#444

……
[/Quote]
正解,UP
wangjunfeng2010 2010-08-09
  • 打赏
  • 举报
回复
建议你最好捧个钱场,哈~~
凤凰涅檠 2010-08-09
  • 打赏
  • 举报
回复
捧个人场。。。
wangjunfeng2010 2010-08-09
  • 打赏
  • 举报
回复
正则表达式获取~~
阿非 2010-08-09
  • 打赏
  • 举报
回复
# 瞄点后的内容 是不会被传递的

不用编码 是没办法获取到的
乐居猫 2010-08-09
  • 打赏
  • 举报
回复
看过了
xingjibing 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 maco_wang 的回复:]
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码
      十六进制值
1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. ……
[/Quote]
正解
sywcf 2010-08-09
  • 打赏
  • 举报
回复
学习来的
SK_Aqi 2010-08-09
  • 打赏
  • 举报
回复
到服务器端了,为什么就获得不了url呢?
边城的刀声 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 sbwwkmyd 的回复:]

ASP正常?应该不会吧
我记得#后面的是不用传到服务器的,只会在客户端存在。
[/Quote]
是的,可以到IIS日志里看下,#号后边的内容没有
asp应该也不正常,我刚才试过了,不知楼主是个什么情况
hefuming5 2010-08-09
  • 打赏
  • 举报
回复
编码解码就行了
e251396 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zengfanxing 的回复:]
可是参数是用户传过来的.用户不会拿去转换编码的.我这里获取要做什么操作能得到整值呢.
[/Quote]


不明白什么叫用户传过来的?难道是用户手动在URL中改变参数的值?我想知道的是http://127.0.0.1/a.asp?msg=333#444
这个URL是用户点击过来的么?即是你的网站中的一个URL么?如果是,为什么你不去处理这个URL(编码一下),如果不是,那就得规定用户如何操作了。
低调的感觉 2010-08-09
  • 打赏
  • 举报
回复
帮顶 学习了
jiangshun 2010-08-09
  • 打赏
  • 举报
回复
用JS

<script type="text/javascript">
var search=location.location.search
</script>


在处理search
myhope88 2010-08-09
  • 打赏
  • 举报
回复
嗯,先经过编码然后再传送可以就可以获得到啦
showjim 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 sbwwkmyd 的回复:]
ASP正常?应该不会吧
我记得#后面的是不用传到服务器的,只会在客户端存在。
[/Quote]
我记得#后面的是不会传到服务器的,只会存在于客户端。
showjim 2010-08-09
  • 打赏
  • 举报
回复
ASP正常?应该不会吧
我记得#后面的是不用传到服务器的,只会在客户端存在。
加载更多回复(21)

62,046

社区成员

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

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

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

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