网址问题中的标签

发布于 2024-12-06 08:17:36 字数 402 浏览 1 评论 0原文

我有一个填充另一个页面的查询字符串参数,当该参数以主题标签 # 开头时会出现问题,

例如: 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2024-12-13 08:17:36

您应该查看 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()

阪姬 2024-12-13 08:17:36

您需要对参数进行编码和解码。对于 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() and Url.Decode() for this.

#456 encoded is %23456

It looks like you can use HttpUtility.UrlEncode() and HttpUtility.UrlDecode() in ASP.NET.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文