У меня проблема в приложении mvc3, когда я выбираю дату за 12-м днем из средства выбора даты, контроллер получает дату по умолчанию datetime "1/01/0001"
вот моя модель
public virtual int ID { set; get; }
[Required]
[Display(Name="Cantidad de CD4")]
[Range(400,1200, ErrorMessage="La cantidad de CD4 debe estar entre 400 y 1200")]
public virtual int Cantidad_CD4 { set; get; }
[DataType(DataType.Date)]
public DateTime Fecha { set; get; }
мой взгляд
@model PacientMVC.Models.CD4
@{
ViewBag.Title = "Create";
}
`
Создать
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>CD4</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Cantidad_CD4)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Cantidad_CD4)
@Html.ValidationMessageFor(model => model.Cantidad_CD4)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Fecha)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Fecha)
@Html.ValidationMessageFor(model => model.Fecha)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>`
а потом мой метод контроллера
[HttpPost]
public ActionResult Create(int pacientID, CD4 newCD4)
{
try
{
// TODO: Add insert logic here
var objpacient = _db.Pacients.Single(r => r.ID == pacientID);
objpacient.CD4S.Add(newCD4);
_db.SaveChanges();
return RedirectToAction("Details", "Pacient", new { id = pacientID });
}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
}
}
return View();
}
//}
//catch
//{
// return View();
//}
}
и я делаю свой jquery вот так
$(document).ready(function () {
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
});
и я делаю следующий шаблон для DATETIME
@model System.DateTime
@Html.TextBox("", Model.ToString("dd/MM/yyyy"), new { @class = "date" })
Я из Испании (и noob в MVC), поэтому мы использовали дату в следующем формате: дд / мм / гггг
Я думаю, он считает, что я использую дату, например, США мм / дд / гггг
ошибка - исключение dbentityvalidation в _db.SaveChanges ();
Я не знаю, где мне нужно внести изменения
извините за мой плохой английский, пожалуйста, помогите мне