ASP.NET Coreプロジェクトでは、(読み取り専用の)日付を特定の形式(「dd/mm/yyyyHH:MM」など)で表示する必要があります。
<div class="form-group">
<label asp-for="Date" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Date" readonly class="form-control" />
</div>
</div>
Date
フィールドがこのようなモデルで宣言されていることを知って、どうすればよいですか?
public DateTime Date { get { return this.Timestamp.DateTime; } }
?
または、プロパティをDisplayFormatAttribute
で装飾することもできます。
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy HH:MM}")]
public DateTime Date { get { return this.Timestamp.DateTime; } }
持っているマークアップを変更する必要はありません。
これを試して。
<input asp-for="Date" asp-format="{0:dd/MM/yyyy HH:mm}" readonly class="form-control" />
読み取り専用の場合は、次のようにハードコーディングできます-
<input value="@Model.Date.ToString("dd/MM/yyyy HH:mm")" readonly class="form-control" />
またはテキストとして表示
<div class="form-group">
<label asp-for="Date" class="col-md-2 control-label"></label>
<div class="col-md-10 form-control-static">
@Model.Date.ToString("dd/MM/yyyy HH:mm")
</div>
</div>
質問に従ってASP.CoreTagHelpersを使用します。
[DataType(DataType.Date)]
public DateTime Date { get { return this.Timestamp.DateTime; } }
ロケール設定に従って、入力フィールドを適切にフォーマットします。他のタグのタグヘルパーソリューションが見つかりません。Winの回答によるとハードコーディングのようです。