【发布时间】:2013-05-14 07:21:06
【问题描述】:
我正在尝试使用 Ajax.BeginForm。我想通过 html 表单发送 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>
【问题讨论】:
-
你应该有 ActionResult() 而不是 void
-
是的,您应该使用 ActionResult 而不是 void 但另外,如果您希望 myDate 属性不被初始化为默认日期,则将其设为可空类型,如下所示:public DateTime?我的日期 { 得到;放; }
标签: c# .net asp.net-mvc serialization ajax.beginform