HTML Hepler
のAsp.NET MVC
メソッドを使用して、dd/mm/yyyy形式でDateTime
値を表示することは可能ですか? @Html.LabelFor
でいくつかの形式を使用し、以下のような関連するプロパティにいくつかの注釈を追加することでこれを実行しようとしましたが、意味がありません。この問題を解決するための助けをいただければ幸いです。
モデル:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> RegistrationDate { get; set; }
あなたがしなければならないのは、htmlヘルパー呼び出しで必要な形式を適用することです。
@Html.TextBoxFor(m => m.RegistrationDate, "{0:dd/MM/yyyy}")
モデルクラスに日付形式を指定する必要はありません。
数時間の検索の後、数行のコードでこの問題を解決しました
あなたのモデル
[Required(ErrorMessage = "Enter the issued date.")]
[DataType(DataType.Date)]
public DateTime IssueDate { get; set; }
カミソリページ
@Html.TextBoxFor(model => model.IssueDate)
@Html.ValidationMessageFor(model => model.IssueDate)
Jquery DatePicker
<script type="text/javascript">
$(document).ready(function () {
$('#IssueDate').datepicker({
dateFormat: "dd/mm/yy",
showStatus: true,
showWeeks: true,
currentText: 'Now',
autoSize: true,
gotoCurrent: true,
showAnim: 'blind',
highlightWeek: true
});
});
</script>
Webconfigファイル
<system.web>
<globalization uiCulture="en" culture="en-GB"/>
</system.web>
これで、テキストボックスは"dd/MM/yyyy"形式を受け入れます。
これは古い質問ですが、参考のために、データ注釈やその他の設定なしで日付をフォーマットするための本当に簡単な方法は次のとおりです。
@Html.TextBoxFor(m => m.StartDate, new { @Value = Model.StartDate.ToString("dd-MMM-yyyy") })
もちろん、上記の形式は何にでも変更できます。
または、これをビューで使用します(Razorページ)
@item.ResgistrationhaseDate.ToString(string.Format("dd/MM/yyyy"))
モデルクラスに日付形式を追加しないことをお勧めします
質問は「表示」だったので:
@Html.ValueFor(model => model.RegistrationDate, "{0:dd/MM/yyyy}")
HTMLヘルパーを使用する必要があり、モデルクラスで日付形式を提供する必要はありません。 e.x:
@Html.TextBoxFor(m => m.ResgistrationhaseDate, "{0:dd/MM/yyyy}")