3

これについて約 1,000 件の投稿を見てきましたが、何かを見逃していたに違いありません。

基本的に、サイトで dd/MM/yyyy 形式を使用しようとしていますが、検証時に問題が発生します。

私はViewModelを持っています:

   public class LoanBaseViewModel
    {
        public int LoanId { get; set; }

        [Required]
        [DataCompareValidation("ReturnDate", ErrorMessage = "Return date should be later than loan date")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        public DateTime LoanDate { get; set; }


        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
        [DataType(DataType.Date)]
        public DateTime? ReturnDate { get; set; }
}

私の EditorTemplate では、これを持っています:

@model System.Nullable<System.DateTime>
@if (Model.HasValue)
{
    @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value), new { @class = "jq-date" })
}
else
{
    @Html.TextBox("", "", new { @class = "jq-date" })
}

ページの読み込みで、jq-date に Jquery DatePicker をアタッチします。

 $("#loanForm").find(".jq-date").datepicker({ dateFormat: 'dd/mm/yy' });

表示は正常に機能しますが、保存しようとするたびに、dd/MM/yyyy 日付を使用すると日付が正しい形式ではないことがわかります。

理由はありますか?

私は1時間ほど試してきましたが、それは私を狂気に駆り立てています!

御時間ありがとうございます

トム

編集: うまくいきませんでした本当に奇妙なのは、私のラップトップでは機能しますが、デスクトップでは機能しないことです.どちらもdd / MM / yyyyで表示されます.私のラップトップは2013年8月25日を受け入れますが、デスクトップは受け入れません. ...

編集: 解決策はこちら: stackoverflow.com/a/13528769/1741443。

4

4 に答える 4

1

おそらく日付ピッカー形式に問題があります。このように初期化中に設定できます

 var dateTypeVar = $('#datepicker').datepicker('getDate');
 $.datepicker.formatDate('dd-mm-yy', dateTypeVar);

デフォルトの日時形式を設定することもできます。詳細情報へのリンクはこちら

于 2013-08-04T20:12:53.427 に答える
0

以下のコードを global.asax.cs ファイルに追加します

保護されたボイド Application_BeginRequest() {

CultureInfo info = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString()); info.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"; System.Threading.Thread.CurrentThread.CurrentCulture = 情報;

}

<system.web> の下のweb.configに以下を追加します。

<globalization culture="en-US" />

于 2014-10-21T13:36:14.473 に答える