如何在Asp.Net 4中路由带有#字符的Url?

发布于 2024-08-31 15:17:50 字数 58 浏览 5 评论 0原文

如何路由包含 # 尖锐字符的 url,如下所示: 〜/page.aspx#/Home 成为: 〜/首页

How to route url contains # sharp character like this:
~/page.aspx#/Home
to be:
~/Home

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

可爱咩 2024-09-07 15:17:50

URL 中的 # 引用命名锚点 () 标记,并且不会传递到服务器。

~/page.aspx#/Home 指的是页面 page.aspx 上名为 /home 的锚点。

服务器只会收到对 page.aspx 的请求,并且 # 以后的任何内容都不会被传递。

请参阅这个所以问题和答案。

换句话说 - 如果 URL 中的 # 字符没有引用文档中的命名锚点,则不要使用它们,因为您将无法在服务器中路由这些字符。

The # in a URL refers to a named anchor (<a name="xxx" />) tag and does not get passed through to the server.

~/page.aspx#/Home refers to the anchor named /home on the page page.aspx.

The server will only get the request to page.aspx and anything from the # onwards will not be passed through.

See this SO question and answers.

In other words - do not use the # character in your URL if they do not refer to a named anchor within the document, as you will not be able to get these routed in the server.

橘味果▽酱 2024-09-07 15:17:50

我认为奥德在这里有正确的答案。

但是,如果碰巧遇到 # 出现在用户输入的数据中的情况,则应先对其进行 URL 转义,然后再将其放入 URL 中。

#/Home 将会是 %23/Home

但是,我感觉这里实际上并非如此。

I think Oded has the right answer here.

But if you happen to have a situation where the # is in user entered data, you should URL escape it before putting it in the URL.

#/Home would then be %23/Home

However, I get the feeling this isn't actually the case here.

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