【发布时间】:2020-10-19 05:33:29
【问题描述】:
我正在尝试更改查询字符串参数而不重新加载页面。我有一个 DateTime 日期值,我试图将其转换为字符串并放入 url。说,为了这个问题,它是:
DateTime? Date = new DateTime(2020, 9, 4);
所以,我的网址可能看起来像:
https://localhost:44346/Events?d=2020-10-18
在我做了必须做的任何魔法之后,结果如下:
https://localhost:44346/Events?d=2020-10-04
我曾尝试使用NavigationManager 和QueryHelpers,如下所示,但我没有运气:
QueryHelpers.AddQueryString(navManager.Uri, "d", Date?.ToString("yyyy-MM-dd"));
【问题讨论】:
-
你能描述一下“没有运气”吗?我认为 navManager.Uri 已经有一个查询字符串。
-
没有运气"" 在那种情况下意味着它不起作用。
navManager.Uri等于 "localhost:44346/Events?d=2020-10-18" 所以它已经有一个查询字符串。但是,当我改用navManager.ToAbsoluteUri("Events").ToString()尝试它时,它仍然不起作用 -
你确实有
[Parameter] d,对吧? -
不,我不知道,
[Parameter] d只有在https://localhost:44346/Events/2020-10-04的形式下才有效。我在获取当前查询字符串时没有任何问题,只需设置它即可。 -
不,参数也可以与 ?d= 一起使用。但是你想创建一个
<a>还是使用 NavigateTo() ?这可能很重要。导航到同一页面时出现问题,找不到这么快。
标签: asp.net-core url query-string blazor