【问题标题】:Month swaps to Day, Day swaps to Month when loading View加载视图时,月交换为日,日交换为月
【发布时间】:2012-03-14 22:51:21
【问题描述】:

所以我得到了这样的控制器:

public ActionResult Create(int teller, DateTime datum, int AfdelingId, int WerknemerId, int KwartaalId)
{
    DienstGepland dg = new DienstGepland();
    dg.datum = datum.AddDays(teller);
    dg.gecontroleerd = false;
    dg.WerknemerId = WerknemerId;
    dg.DienstKwartaalGeplandId = KwartaalId;

    ViewBag.afdelingid = AfdelingId;
    ViewBag.diensten = _service.DienstenList(AfdelingId);

    return View(dg);
}

dg.datum 填写如:“13/03/2012”。

但是当它打开创建视图时,EditorFor 中的日期更改为:“03/13/2012”。

查看:

@model ProjectMivalti.Domain.DienstGepland
@Html.EditorFor(model => model.datum)

这当然不会发生。我认为这是一个文化问题,但我不知道如何解决它。

提前致谢!

【问题讨论】:

    标签: c# asp.net-mvc entity-framework culture


    【解决方案1】:

    你可以试试这样格式化:

    @Html.TextBoxFor(m => m.DateModified, new {value = Model.DateModified.ToString("MM-dd-yyyy")
    

    【讨论】:

    • 作为德国人,他会选择 model.datum.ToString("dd/MM/yyy") 格式,但除此之外,这就是要走的路。
    【解决方案2】:

    确保在当前 Thread 上设置适当的 CultureInfo,最好在 Global.asax BeginRequest 中。

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE");
        Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2021-12-01
      相关资源
      最近更新 更多