Asp.net mvc 5 试图通过json向控制器发送datetime
在我的模型中,我得到了一个无法从json获得的DateTime(FechaNac)格式Asp.net mvc 5 试图通过json向控制器发送datetime,asp.net-mvc-5,Asp.net Mvc 5,在我的模型中,我得到了一个无法从json获得的DateTime(FechaNac)格式 public class Persona { public int Id { get; set; } [Display(Name = "Nombre")] [Required] public string Nombre { get; set; } [Display(Name = "Apellido")] [Required] public string
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格式(来自日期选择器)
@使用MVCprueba2.Models
@模型MVCprueba2.Models.Persona
@LabelFor(model=>model.Nombre,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Nombre)
@LabelFor(model=>model.Apellido,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Apellido)
@LabelFor(model=>model.FechaNac,新的{@class=“controllabel col-md-2”})
@Html.JQueryUI().DatepickerFor(model=>model.FechaNac)
@LabelFor(model=>model.Idlugar,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Idlugar)
门萨耶
$(函数(){
$(“#guardarPersona”)。单击(函数(){
var persona=新对象();
persona.Nombre=$(“#Nombre”).val();
persona.Apellido=$(“#Apellido”).val();
persona.FechaNac=$('#FechaNac').datepicker(“getDate”);//已解决[Typo]
persona.Idlugar=$(“#Idlugar”).val();
var jsonPersona=JSON.stringify(persona);
$.ajax({
url:“@url.Action”(“GetPostData”)”,
类型:“POST”,
资料来源:jsonPersona,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
错误:函数(响应){
警报(response.responseText);
},
成功:功能(响应){
警报(响应);
}
});
});
});
但遗憾的是,在控制器中,我没有得到日期,我如何才能解决这个问题?似乎工作正常 在浏览器中 Fecha de Naciminto:2014年10月29日 在控制器中 FechaNac={29.10.2014 00:00:00}
@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>