在mvc中将dd.MM.yyyy转换为MM / dd / yyyy的问题

时间:2011-04-18 06:59:10

标签: .net asp.net asp.net-mvc asp.net-mvc-3 datetime-format

我在数据库中有datetime字段,我正在使用DateTime属性作为日期。

我在文本框中以“dd.MM.yyyy”

格式显示日期
@Html.TextBox("Validity", Model.Validity.ToString("dd.MM.yyyy"))

现在我必须将它保存到数据库中,这意味着我如何将此值分配给属性,以便我能够在控制器中获取数据。

感谢。

2 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以使用Model或FormsCollection来检索此字段。从那里您可以格式化“。”点字符到您期望的格式。

如果您将此作为SQLDBType.DateTime传递给SQL,那么您应该没问题。

答案 1 :(得分:1)

由于您没有解释您在使用此代码时遇到的问题,因此这个示例对我有用,并允许我成功检索POST操作中以dd.MM.yyyy格式存储的日期。

型号:

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" />
}