地址栏传参的字符串长度是否有限制?

zyjmib 2008-04-07 12:05:21
问题缘起
http://topic.csdn.net/u/20080324/14/070edf97-4bd4-44b7-bc8f-ddafcbc4723c.html
http://topic.csdn.net/u/20080402/10/14af839c-3ce3-461a-95d7-748dc55b264b.html
现在需要在新页面查看某张图片的详细信息和大图.
我是把图片的路径传给新页面.有个疑问在地址栏里传参数是否对字符的“length”有所限制?
如果作为参数的图片路径过长就要引发异常。
...全文
3517 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
sillyfish521 2010-06-01
  • 打赏
  • 举报
回复
肯定有限制的,具体多少不是很清楚
还要注意url中的特出字符
jeremy 2008-05-27
  • 打赏
  • 举报
回复
限制是有的,只不过不同浏览器可能有区别,所以造成具体限制为多大可能有区别!
建议楼主不要钻这个牛角尖了!
Dennis_maomao 2008-05-27
  • 打赏
  • 举报
回复
有限制! 2k以内
lfywy 2008-05-27
  • 打赏
  • 举报
回复
有限制!关注+学习!
apollolb2005 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 haonanq20015921 的回复:]
url的全部的大小为2k 超过这个大小就会被截断
[/Quote]
kong521 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zdjray 的回复:]
这个和浏览器相关的
要看浏览器是否支持

官方的解释是

The HTTP protocol does not place any a priori limit on the length of
a URI. Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs. A server
SHOULD return 414 (Request-URI Too Long) stat…
[/Quote]
zyjmib 2008-05-27
  • 打赏
  • 举报
回复
看来是没的搞了。
结帖,欢迎都来jf,截至到11:00,来者有分。
zyjmib 2008-04-11
  • 打赏
  • 举报
回复
别那么肯定
为什么我的只能是237个或240?
zxphello 2008-04-11
  • 打赏
  • 举报
回复
肯定的回答.有限制.255
zyjmib 2008-04-11
  • 打赏
  • 举报
回复
求解
zhxingway 2008-04-07
  • 打赏
  • 举报
回复
嗯嗯,对这个问题没有了解哦
呵呵
michael1013 2008-04-07
  • 打赏
  • 举报
回复
如果我没有记错的话,从ASP.NET 2.0 起,对QueryString是没有字长限制的。
zyjmib 2008-04-07
  • 打赏
  • 举报
回复
向“haonanq20015921”和“jinjazz”道歉
我的语气不象在求解答案,对不起
不管这个问题的答案如何,我不应该质问你们。
谢谢你们的解答。
sun_Ke 2008-04-07
  • 打赏
  • 举报
回复
有限制
zyjmib 2008-04-07
  • 打赏
  • 举报
回复
我找到的VS2005用“post”提交的方法:
Post:即表单提交,以前在asp中使用比较广泛,由于asp.net答应自身提交给自身,因此Post在asp.net已经很少使用了,假如你使用是VS2005,可以使用以下方法来进行Post提交:
使用服务端Button控件(或者LinkButton控件和ImageButton控件,凡是实现了IButtonControl的服务端控件都可以,这些控件会有一个PostBackUrl属性,将它的值设为要提交页面的Url即可),然后在提交页面的Request.Paras可以获取跳转页面的表单的个项值.至于VS2003实现Post就比较繁琐了.
但我的只是简单的超链接,如何才能实现“Post”方式提交。
<a href="co_pic_revise.aspx?pic_id=<%# Eval("pic_id") %>">
<asp:Image ID="imgTax" runat="server" ImageUrl='<%# Eval("pic_url") %>' Height="60px"
Width="75px" BorderWidth="0px" />
</a>
zyjmib 2008-04-07
  • 打赏
  • 举报
回复
如上所述“造成这种潜在错误的是使用GET方法提交表单数据”,那是用“GET”方式才会只能传200多个字符,用“POST”方式就可以传2k多?
但我的程序是用VS2005写的,不知在哪里可以修改提交方式?
wh110 2008-04-07
  • 打赏
  • 举报
回复
没有试过,帮楼主顶一下。
datahandler2 2008-04-07
  • 打赏
  • 举报
回复
URL不存在参数上限的说法。该问题实际是IE对URL有长度限制的问题。
2)HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。[参1]
3)“可变长度的参数通过URL方式传递”实际是说提交表单时使用了GET方法,而不是POST方法。造成这种潜在错误的是使用GET方法提交表单数据。因为GET方法将数据放在URL里传递给服务器处理。
4)注意这个限制是整个URL长度,而不仅仅是你的参数值数据长度。
5)既然是IE对URL长度的限制,那么不管是GET方法还是POST方法都存在这个限制。
(关于FORM的GET和POST方法具体内容请参考相关资料[参2])
zyjmib 2008-04-07
  • 打赏
  • 举报
回复
ls两位,拜托出来混给点专业精神好不好!
你们实践过2千个字符的url吗?我试了超过240个就截断了。
jinjazz 2008-04-07
  • 打赏
  • 举报
回复
不能超过20xx个字符
加载更多回复(6)

62,074

社区成员

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

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

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

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