gpt4 book ai didi

ASP.NET 回发丢失 URL 中的哈希值

转载 作者:行者123 更新时间:2023-12-04 01:48:00 26 4
gpt4 key购买 nike

在带有选项卡的 ASP.NET 页面上,我使用 URL 中的哈希代码来跟踪我所在的选项卡(使用 BBQ jQuery plugin )。例如:

http://mysite.com/foo/home#tab=budget

不幸的是,我刚刚意识到页面上有几个地方我使用老式的 ASP.NET 回发来做一些事情,当回发完成时,散列就消失了:
http://mysite.com/foo/home

......所以我被带到了另一个标签。不好。

这是一个使用 .NET 4.0 的 webforms 站点(不是 MVC)。不过,正如您所见,我使用的是 URL 路由。

有没有办法告诉 ASP.NET 在回发后将哈希保留在 URL 中?

最佳答案

问题是回发到当前页面的url,这是在页面上表单的action中设置的。默认情况下,这个 url 在 asp.net 中没有 #hash,它由 asp.net 自动设置,您无法控制它。

您可以使用 javascript 将 #hash 添加到表单操作属性中:

document.getElementById("aspnetForm").action += location.hash

或者,如果更新已包含哈希值的操作:
var form = document.getElementById("aspnetForm");
form.action = form.action.split('#')[0] + location.hash

只需确保在 window.load 上执行此代码并定位正确的 ID

关于ASP.NET 回发丢失 URL 中的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com