gpt4 book ai didi

c# - 如何在 Blazor 中使用路由发送日期时间

转载 作者:行者123 更新时间:2023-12-05 08:51:38 24 4
gpt4 key购买 nike

我正在尝试为我的一个发送日期时间的 Blazor 网页创建路由。根据其支持的文档,但我似乎无法使其正常工作。我是这样做的。

我想去的地方:

@page "/routeTest/{number:int}/{date:datetime}"

@code {
[Parameter] public int number { get; set; }
[Parameter] public DateTime date { get; set; }
}

我是如何尝试导航到那里的

NavigationManager.NavigateTo("routeTest/"+numberToSend+"/"+dateToSend);

它引导我去

https://localhost:44383/routeTest/123/12/11/2019%204:36:26%20PM

虽然从技术上讲是正确的,但我很确定这是 dateTime 对象的错误。我应该如何才能正确发送 dateTime 对象?

最佳答案

如您所见,URL 中的 DateTime 因斜杠而影响路由。

以 ISO8601 格式 yyyy-MM-ddTHH:mm:ss 发送 DateTime

你可以使用:

dateToSend.ToString("s", System.Globalization.CultureInfo.InvariantCulture)

其中格式说明符 s 被称为 Sortable date/time pattern

或者

dateToSend.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)

使用 InvariantCultureBlazor routing页面状态:

Route constraints that verify the URL and are converted to a CLR type(such as int or DateTime) always use the invariant culture. Theseconstraints assume that the URL is non-localizable.

关于c# - 如何在 Blazor 中使用路由发送日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59296122/

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