gpt4 book ai didi

url - 如何从服务器端获取 Url Hash (#)

转载 作者:行者123 更新时间:2023-12-03 04:29:43 26 4
gpt4 key购买 nike

我知道在客户端(javascript)你可以使用 windows.location.hash 但无论如何找不到从服务器端访问。我正在使用 asp.net。

最佳答案

我们遇到过需要在 ASP.Net 回发中保留 URL 哈希的情况。由于默认情况下浏览器不会将哈希值发送到服务器,因此唯一的方法是使用一些 Javascript:

  1. 当表单提交时,获取哈希 (window.location.hash) 并将其存储在服务器端隐藏输入字段中 将其放入 id 为“urlhash”,这样我们以后就可以轻松找到它。

  2. 在服务器上,如果您需要使用该值执行某些操作,则可以使用该值。如果需要,您甚至可以更改它。

  3. 在客户端加载页面时,检查此隐藏字段的值。您需要通过它所在的 DIV 来查找它,因为自动生成的 ID 是未知的。 是的,您可以使用 .ClientID 进行一些欺骗,但我们发现仅使用包装器 DIV 更简单,因为它允许所有这些 Javascript 存在于外部文件中并以通用方式使用。

  4. 如果隐藏的输入字段具有有效值,请将其设置为 URL 哈希(再次window.location.hash)和/或执行其他操作。

    <

我们使用 jQuery 来简化字段的选择等...总而言之,它最终只是一些 jQuery 调用,一个用于保存值,另一个用于恢复它。

提交前:

$("form").submit(function() {
$("input", "#urlhash").val(window.location.hash);
});

页面加载:

var hashVal = $("input", "#urlhash").val();
if (IsHashValid(hashVal)) {
window.location.hash = hashVal;
}

IsHashValid() 可以检查“undefined”或其他您不想处理的内容。

当然,还要确保正确使用 $(document).ready()

关于url - 如何从服务器端获取 Url Hash (#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/317760/

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