我想重定向一个包含#的链接的页面。由于#之后的值没有通过HTTP请求发送到服务器,因此我在Razor视图中编写了如下脚本。
$(document).ready(function () {
if (window.location.hash) {
var url = window.location.href.toLowerCase().replace("ug_101", "UG");
window.location = url;
}
我将代码放在页面顶部,但仍然在重定向之前呈现父视图中的元素。如何在不加载父视图的情况下重定向?或者如何在C#中的URL#中获取值?
答案 0 :(得分:0)
您将代码放在.ready()
函数中,因此在页面部分加载之前不会执行jQuery。
尝试使用您的脚本,如下所示:
if (window.location.hash) {
var url = window.location.href.toLowerCase().replace("ug_101", "UG");
window.location = url;
它们都不是jQuery,并且没有人需要加载页面的任何部分,因此.ready()
方法导致您的延迟没有充分的理由。