使用 .NET Core 更新浏览器中显示的 URL

Updating the displayed URL in the browser using .NET Core

因此,我创建了某个网页(视图)。我有一个要求,我需要更新浏览器中显示的 URL 以显示此页面的不同路径并更新查询字符串。

更新:我不想真正重定向页面,这只是一个外观更新。使 URL 看起来与原来不同。这是我们的客户支持团队想要的要求。 :p

例如。 https://www.myserver.com/error/

我需要根据错误类型更新 URL 中的路径,如下所示: https://www.myserver.com/#/order-completed?var=someguid

我的错误页面处理您看到的各种情况。 我知道这在 JS 中很容易完成,但我希望能够从我的错误页面控制器中执行此操作。

有人可以帮忙吗?非常感谢!

我认为“更新路径”意味着您只需将浏览器重定向到 url。如果您正在使用 ASP.NET MVC,您可以像这样使用重定向控制器方法:

return Redirect("https://www.myserver.com/#/order-completed?var=someguid");

所以,我还是走上了JS之路。我从视图中的 window.onload 调用它。

var fromController = '@ViewData["NewURL"]';
histoy.pushState(null, '', fromController);

在控制器中,在 Index() 操作中

ViewData["NewURL"] = @"/myURL/myview?user=2342434";
return View();