ページの1つにjQuery日付ピッカーがあるMVC3アプリケーションがあります:
<script>
$(function () {
$("#expirationDate").datepicker();
$("#expirationDate").datepicker("option", "dateFormat", "dd/mm/yy");
});
</script>
using (Html.BeginForm())
{
@Html.TextBox("expirationDate")
<input type="submit" value="Submit" />
}
コントローラのアクションは次のようになります。
public ActionResult DoStuff(String expirationDate)
{
return View();
}
デートピッカーは見た目は問題ありませんが、動作がおかしいです。
たとえば、2012年12月31日のように日付を入力して(形式を指定したことに注意してくださいdd/mm/yy
)、ボタンを押します。expirationDate
制御がコントローラーに入り、変数が値を保持していることがわかり31/12/2012
ます。次にアクションが戻り、テキストボックスが空になっているのがわかります。
次に、2012年10月12日を試してみます-アクションに入りますが、ページが再び表示されると、2012年12月10日になります-明らかに月と日が入れ替わります。おそらく31/12の場合、それらを交換すると無効な日付が生成され、それが破棄されることがわかりました。
形式が明示的に指定されているにもかかわらず、日と月が入れ替わるのはなぜですか?