c# - 为什么 value="string-value" 可以与 input type="time" 一起使用,而不是 bind-value="string-value"
问题描述
我正在一个简单的网站上尝试一些 Blazor(我是新手)。我创建了一个带有字符串值“08:00”的绑定,并将 i 绑定到一个输入字段,如下所示:
<input @bind-value="@StartValue" @bind-value:event="onchange" class="col-sm-1" type="time"/>
@code {
public string StartValue { get; set; } = "08:00";
}
这会生成错误“无法从 'string' 转换为 'System.DateTime'”。但是,当我删除绑定并按以下方式创建输入时:它工作正常。
<input value="08:00" class="col-sm-1" type="time"/>
任何想法为什么会有差异?使用 DateTime 对我来说没有意义,如果我可以使用 TimeSpan,我会同意,但这也不起作用。
解决方案
使用@bind-value
,您将绑定到一个字符串类型,该类型不适用于 type="time"。
使用value
,您输入了正确的“时间”类型,而不是字符串。当您输入一个像 'foo' 这样的字符串时,它将不起作用。
推荐阅读
- r - 如何在 R Shiny 中激活前 4 个操作的撤消按钮
- javascript - 如何通过单击列标题创建弹出框以对表格进行排序
- gdb - 使用gdbAttach到远程进程时,提示无法打开文件
- docker - 如何在 ASP.NET Core 中对进程进行沙箱处理?
- laravel - 使用 Laravel 在 Vue Js 中将事件从子组件传递或发射到父组件
- python - 迭代映射函数python中的参数
- css - 如何仅使用 CSS 更改 html 按钮的值
- amazon-web-services - 可以创建策略并将策略共享给多个帐户的角色
- github - 如何在作业之间重用环境?
- python - 更改 Tkinter 窗口