我遇到了一些 ASP/C# 輸入欄位的問題。這是我所擁有的螢屏截圖:

它是電影院中電影的輸入欄位。StartAt 是時間表的開始日期,EndAt 是時間表的結束日期,Time 表示電影每天播放的兩個日期內的每日時間。
問題是我是歐洲人,正常模式對我們來說是 dd-mm-yyyy。我做不到。更大的問題是時間跨度。那應該是 HH:mm(24 小時制)而不是 HH:mm:ss。
這是我的查看代碼:
<div class="form-group">
<label asp-for="StartAt" class="control-label"></label>
<input asp-for="StartAt" class="form-control" />
<span asp-validation-for="StartAt" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="EndAt" class="control-label"></label>
<input asp-for="EndAt" class="form-control" />
<span asp-validation-for="EndAt" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Time" class="control-label"></label>
<input asp-for="Time" class="form-control" />
<span asp-validation-for="Time" class="text-danger"></span>
</div>
這是我的模型:
public class MovieRuntime
{
public int Id { get; set; }
public int MovieId { get; set; }
public int HallId { get; set; }
[DataType(DataType.Date)]
[Column(TypeName = "Date")]
public DateTime StartAt { get; set; }
DataType(DataType.Date)]
[Column(TypeName = "Date")]
public DateTime EndAt { get; set; }
[DataType(DataType.Time)]
[Column(TypeName = "Time")]
public TimeSpan Time { get; set; }
[ForeignKey("MovieId")]
public virtual Movie Movie { get; set; } = null!;
[ForeignKey("HallId")]
public virtual Hall Hall { get; set; } = null!;
}
我嘗試在模型中使用 DisplayFormat,但這沒有幫助:
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
我在這里想念什么?
uj5u.com熱心網友回復:
您可以使用 asp-formatting 來指定日期和時間的格式。
asp-format="{0:dd.MM.yyyy}"
<div class="form-group">
<label asp-for="StartAt" class="control-label"></label>
<input asp-for="StartAt" asp-format="{0:dd.MM.yyyy}" type="date" class="form-control" />
<span asp-validation-for="StartAt" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="EndAt" class="control-label"></label>
<input asp-for="EndAt" asp-format="{0:dd.MM.yyyy}" type="date" class="form-control" />
<span asp-validation-for="EndAt" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Time" class="control-label"></label>
<input asp-for="Time" asp-format="{0:HH:mm}" type="time" class="form-control" />
<span asp-validation-for="Time" class="text-danger"></span>
</div>
uj5u.com熱心網友回復:
Html 日期輸入不能正式更改格式。純元素始終基于瀏覽器文化顯示。
您應該使用第三個庫(如 bootstrap datepicker、jquery datepicker)或者您可以使用 css、js 破解(例如:

對于 Pattern 問題,問題是我的瀏覽器在美國設定上。這就是我得到美國模式的原因。我將其更改為荷蘭語,這是輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/456530.html
標籤:C# 网 asp.net-mvc asp.net 核心
