通过Ajax发送DateTime.BeginForm # c

本文关键字:BeginForm DateTime Ajax 发送 通过 | 更新日期: 2023-09-27 18:14:22

我正在尝试使用Ajax.BeginForm。我想通过html表单发送一个日期时间。问题是在控制器中没有初始化Datetime。我得到默认的DateTime。知道吗?谢谢你的帮助。

我的模型:

public class TestModel
{
    public ObjectId _id { get; set; }
    public DateTime myDate { get; set; } 
}

My Action in TestController

 [HttpPost]
    public void UpdateTest(TestModel tmp)
    {
       tmp.myDate.Date <-- get the wrong date
       ...
       ...
    }

我的观点

@model Project.Models.TestModel

@using (Ajax.BeginForm(new AjaxOptions()
{
    HttpMethod = "POST",
    Url = Url.Action("UpdateTest", "Test")
}))
{
        @Html.TextBoxFor(model => model._id)
        @Html.TextBoxFor(model => model.myDate) // example : 18/05/2013 17:00:00

        <input type="submit" value="Submit" />
}
Javascript

<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.min.js">
</script>

通过Ajax发送DateTime.BeginForm # c

您必须为DateTime创建自定义模型绑定器并将其注册到global.asax