2014-10-28 37 views
0

在我的模型中,我得到了一個DateTime(FechaNac)格式,我無法從json中獲取它。試圖通過json發送datetime到控制器

public class Persona 
{ 
    public int Id { get; set; } 

    [Display(Name = "Nombre")] 
    [Required] 
    public string Nombre { get; set; } 
    [Display(Name = "Apellido")] 
    [Required] 
    public string Apellido { get; set; } 
    [Display(Name = "Fecha de nacimiento")] 
    [Required] 
    [DataType(DataType.Date)] 
    public DateTime FechaNac { get; set; } 
    [Display(Name = "Lugar")] 
    [Required] 
    public int Idlugar { get; set; } 
} 

在控制器中我得到大多數的模型的信息,

public JsonResult GetPostData(Persona jsonPersona) 
{ 
    Console.WriteLine(jsonPersona.ToString()); 
    return Json(jsonPersona, "text/html", JsonRequestBehavior.AllowGet); 
} 

,但我不能獲得日期,我沒有成功不同的方式嘗試在JavaScript中的格式將其與。格式是ISO格式(從日期選擇器)

@using MVCprueba2.Models 
@model MVCprueba2.Models.Persona 
<div class="form-group"> 
    @Html.LabelFor(model => model.Nombre, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.Nombre) 
    </div> 
</div> 

<div class="form-group"> 
    @Html.LabelFor(model => model.Apellido, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.Apellido) 
    </div> 
</div> 

<div class="form-group"> 
    @Html.LabelFor(model => model.FechaNac, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.JQueryUI().DatepickerFor(model => model.FechaNac) 
    </div> 
</div> 
<div class="form-group"> 
    @Html.LabelFor(model => model.Idlugar, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.Idlugar) 
    </div> 
</div> 
<div id="mensaje">Mensaje</div> 
<p><input type="submit" value="Save" id="guardarPersona" /></p> 
<script type="text/javascript"> 
    $(function() { 
     $("#guardarPersona").click(function() { 
      var persona = new Object(); 
       persona.Nombre = $("#Nombre").val(); 
       persona.Apellido = $("#Apellido").val(); 
       persona.FechaNac = $('#FechaNac').datepicker("getDate"); //Solved [Typo] 
       persona.Idlugar = $("#Idlugar").val(); 

      var jsonPersona = JSON.stringify(persona); 
      $.ajax({ 
       url: "@Url.Action("GetPostData")", 
       type: "POST", 
       data: jsonPersona, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       error: function (response) { 
        alert(response.responseText); 
       }, 
       success: function (response) { 
        alert(response); 
       } 
     }); 
     }); 
    }); 
</script> 

但在控制器,可悲的是,我沒有得到的日期,我怎麼能解決呢?

回答

0

似乎是工作按預期

在瀏覽器

出生日期解納西緬託:2014年10月29日

在控制器

FechaNac = {29.10。 2014 00:00:00}