通过Ajax.BeginForm #c发送DateTime

时间:2013-05-19 17:44:45

标签: c# .net asp.net-mvc serialization ajax.beginform

我正在尝试使用Ajax.BeginForm。我想通过html表单发送DateTime。 问题出在控制器中,Datetime未初始化。我得到默认的DateTime。任何的想法 ?谢谢你的帮助。

我的模特:

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

我在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>

1 个答案:

答案 0 :(得分:0)

您必须为DateTime创建自定义模型绑定器并在global.asax

上注册它