网址问题中的标签
我有一个填充另一个页面的查询字符串参数,当该参数以主题标签 # 开头时会出现问题,
例如: mysitepage/Details?param=#456
当然,发生这种情况是因为 url 中的主题标签结束了请求。问题是这些是来自数据库的 ID,无法更改。除了使用查询字符串之外,是否有任何解决办法可以告诉我。
Edit1-
我意识到我正在对问题所在的整个网址进行编码。现在我只做参数部分,但现在似乎使参数静态而不是动态:
示例:
String.Format("mysite.com?param="+Server.UrlEncode({0}), Eval("param"))
基本上它编码大括号中的 0 而不是实际的评估值
I have a querystring parameter that populates another page and the problem happens when the parameter starts with a hashtag #
Ex:
mysitepage/Details?param=#456
Of course this happens because hashtags in url ends the request. The problem is that these are ids from the database and cant be changed. Instead of using a querystring, is there any work around for this that someone can inform me of.
Edit1-
I realized I was encoding the whole url wheere the problem was. Now I am only doing the parameter part, but it seems to be making the parameter static instead of dynamic now:
example :
String.Format("mysite.com?param="+Server.UrlEncode({0}), Eval("param"))
basically it encodes the 0 in curly braces and not the actual evaluated value
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该查看
HttpUtility.UrlEncode(string)< /code>
它将把 # 编码为 %23&当然,您可以使用
UrlDecode()
将其解码回来You should checkout
HttpUtility.UrlEncode(string)
It will encode # to %23& and of course you can decode it back with
UrlDecode()
您需要对参数进行编码和解码。对于 ASP.NET MVC,我使用
Url.Encode()
和Url.Decode()
来实现此目的。#456
编码为%23456
看起来您可以使用
HttpUtility.UrlEncode()
和HttpUtility.UrlDecode()
> 在 ASP.NET 中。You need to encode and decode the parameter. With ASP.NET MVC, I'm using
Url.Encode()
andUrl.Decode()
for this.#456
encoded is%23456
It looks like you can use
HttpUtility.UrlEncode()
andHttpUtility.UrlDecode()
in ASP.NET.