2013-05-19 2 views
1

Я пытаюсь использовать Ajax.BeginForm. Я хочу отправить DateTime через html-форму. Проблема в контроллере: Datetime не инициализируется. Я получаю значение DateTime по умолчанию. Есть идеи ? Спасибо за вашу помощь.отправить DateTime через Ajax.BeginForm #c

My Model:

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> 
+0

не должен иметь ActionResult() вместо void –

+0

Да, у вас должен быть ActionResult вместо void, но дополнительно, если вы хотите, чтобы свойство myDate не было инициализируется по дате по умолчанию, тогда сделайте его нулевым типом следующим образом: public DateTime? myDate {get; задавать; } – Marko

ответ

0

Вы должны создать собственное связующее устройство для DateTime и зарегистрировать его на global.asax

Смежные вопросы