私は最近POSTからGETに変更したASP.NET MVCサイトにフォームを用意しています。しかし、私がこれを行ったとき、関連するアクションのDateTimeパラメータが、en-USではなく、GETのために異なるculture-en-USを効果的に使用していることに気付きました。だから、基本的に日と月が切り替わります。DateTimeローカライゼーションのカスタムModelBinder
以下の記事で私はこれがなぜ行われたのか説明しましたが、投稿前にフォームを修正するためにPOSTまたはJSを使用しないで克服する方法を見つける必要がありました。
http://xhalent.wordpress.com/2011/05/14/localization-of-dates-in-asp-net-mvc/ http://weblogs.asp.net/melvynharbour/archive/2008/11/21/mvc-modelbinder-and-localization.aspx
私はちょうど理論アウト裁判へのDateTimeのカスタムバインダーを作成し、そうすることで、問題を修正しているようです。誰でもこの作品の理由を説明できますか?
カスタムバインダーがDateTimeModelBinderクラスのglobal.ascx.csに基本的に
ModelBinders.Binders.Add(typeof(DateTime), new DateTimeModelBinder());
と、この次の行だった
public class DateTimeModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
return bindingContext.Model;
}
}