Asp.NET-MVC で日付パラメーターを送信するための 3 つの安全なオプションがあります。
IModelBinder を使用して、ユーザー カルチャを使用するように既定のモデル バインダーを変更できます。
public class DateTimeBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
var date = value.ConvertTo(typeof(DateTime), CultureInfo.CurrentCulture);
return date;
}
}
そして、Global.Asax に次のように記述します。
ModelBinders.Binders.Add(typeof(DateTime), new DateTimeBinder());
ModelBinders.Binders.Add(typeof(DateTime?), new DateTimeBinder());
Mvc フレームワーク チームがすべてのユーザーに既定のカルチャを実装した理由については、この優れたブログを参照してください。