を日付形式を指定し、私はこの形式で入力日付を促すたい:DD/MM/YYYY私は日付値のユーザー入力を処理しようとしている(DD/MM/YYYY)MVC5で
何私が実行しようとしました:
私が読んで、この質問にダーリンのための答えを実装: Format datetime in asp.net mvc 4
これは私の実装です:
のGlobal.asaxで
モデルで(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var displayFormat = bindingContext.ModelMetadata.DisplayFormatString;
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
if (!string.IsNullOrEmpty(displayFormat) && value != null)
{
DateTime date;
displayFormat = displayFormat.Replace
("{0:", string.Empty).Replace("}", string.Empty);
if (DateTime.TryParse(value.AttemptedValue, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
return date;
}
else
{
bindingContext.ModelState.AddModelError(
bindingContext.ModelName,
string.Format("{0} is an invalid date format", value.AttemptedValue)
);
}
}
return base.BindModel(controllerContext, bindingContext);
}
出発日:ビューで
[Required(ErrorMessage = "Departure date is required")]
[Display(Name = "Departure Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DepartureDate { get; set; }
それは(ミリメートル月から始まる:
<div class="col span-1-of-2">
@Html.LabelFor(m => m.DesignVacation.DepartureDate)
@Html.EditorFor(m => m.DesignVacation.DepartureDate)
</div>
は、そして、これは、ビューを実行して出力されます)しかし、私が望むのはこのフォーマットです: dd/MM/yyyy
editorForを使用してこの形式を取得する方法(および可能であればtextboxForで)。