0

以下は例です

モデル

public class MyViewModel
{
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
    public DateTime Validity { get; set; }
}

コントローラ

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new MyViewModel
        {
            Validity = DateTime.Now
        });
    }

    [HttpPost]
    public ActionResult Index(MyViewModel model)
    {
        return View(model);
    }
}

意見

@model MyViewModel
@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.Validity)
    <input type="submit" value="OK" />
}

12.12.2011 のような日付を選択すると正常に動作しますが、18.12.2011 のような日付を使用すると、プロパティ (datetime) の値が 01/01/0001 に設定されます。これは私にとって問題です。

4

2 に答える 2

0

<globalization uiCulture="en-GB" culture="en-GB" />web.configファイルに追加できます。

于 2012-04-09T11:02:48.597 に答える
0

「英国」形式 (日/月/年) の日付が必要ですが、変換コードは「米国」形式 (月/日/年) を使用しています。

文字列から に変換するコードでDateTimeは、正しい書式文字列を使用する必要があります。

カルチャと書式情報を取得するDateTime.Parseメソッドが必要です。さまざまな入力に対処できるように、このメソッドに可能な形式のリストを与えることができます。

于 2011-04-20T11:10:47.503 に答える