我正在尝试将“会议数据”作为用户的输入。
我有一个这样的模态:
div class="simple-form">
<EditForm Model="meeting" OnValidSubmit="SubmitForm">
<DataAnnotationsValidator />
<div class="form-group">
<label>Location</label>
<InputText @bind-Value="meeting.Location" class="form-control" placeholder="Adres Giriniz" />
<ValidationMessage For="@(() => meeting.Location)" />
</div>
<div class="form-group">
<label>Date</label>
<InputDate @bind-Value="meeting.Date" />
<ValidationMessage For="@(() => meeting.Date)" />
</div>
<button type="submit" class="btn btn-primary">Submit</button>
<button @onclick="Cancel" class="btn btn-secondary">Cancel</button>
</EditForm>
</div>
@code {
Meetings meeting = new Meetings();
...
此模型将meeting
对象返回主页,并将其发布到数据库:
Meetings meeting;
async Task ShowModal()
{
var MeetingModal = Modal.Show<MeetingRequestComponent>();
var result = await MeetingModal.Result;
if (!result.Cancelled)
{
meeting = (Meetings)result.Data;
meeting.ReceiverId = id;
meeting.SenderId = _userId;
await http.PostAsJsonAsync("api/Meetings", meeting);
}
}
日期信息模型仅为DateTime
:
public DateTime Date { get; set; }
但是我无法获取时间信息。
我尝试使用<input type="datetime" bind="meeting.Date">
,但是没有用。我不能同时使用日期和时间值。它丢弃给定的时间值,并将其设置为12:00:00 AM
我尝试仅在数据库中为“小时和分钟数据”创建另一列,但它要求输入bytes[]
。
像这样的日期选择器和时间选择器(“ HH:mm”)
如何获取时间信息?
如何为日期设置初始值? (这是有问题的,因为我收到一些错误消息,说我不能将Value与@ bind-Value一起使用)
答案 0 :(得分:1)
<InputDate>
组件仅处理创建<input type='date' ...
标记(请参阅原始的Blazor code)
如果要输入/编辑日期时间组合,则需要自己滚动。
此注释中的代码应正常工作: https://github.com/dotnet/aspnetcore/issues/18078#issuecomment-626997904
正如我在评论中提到的,要设置初始值,您需要在创建绑定对象时对此进行编码,例如
Meetings meeting = new Meetings() { Date = DateTime.Now };