我正在开发一个asp.net mvc-4 Web应用程序。我有以下字段: -
<div>
@Html.TextBoxFor(model => model.LiveDate, new { @class = "datepicker", @Value = (Model != null && Model.LiveDate.HasValue) ? Model.LiveDate.Value.ToString("dd/MM/yyyy") : string.Empty })
@Html.ValidationMessageFor(model => model.LiveDate)
</div>
<div>
@Html.TextBoxFor(model => model.EndDate, new { @class = "datepicker", disabled = "disabled",@Value = (Model != null && Model.EndDate.HasValue) ? Model.EndDate.Value.ToString("dd/MM/yyyy") : string.Empty })
@Html.ValidationMessageFor(model => model.EndDate)
</div>
<div>
@Html.EditorFor(model => model.ContractLength)
@Html.ValidationMessageFor(model => model.ContractLength)
</div>
现在我定义了以下jquery,它应该发送LiveDate&amp; ContractLength到一个动作方法来设置EndDate: -
$("#LiveDate, #ContractLength").change(function () {
$.getJSON("@Url.Content("~/Order/CalculateDate")", { date: $("#LiveDate").val(), month: $("#ContractLength").val() },
function (Data) {
$("#EndDate").val(Data.Name);
});
});
以下是将执行calculatepublic
的实际操作方法 public ActionResult CalculateDate(string date, int? month)
{
if (!String.IsNullOrEmpty(date) && month.HasValue)
{
DateTime d = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture);
var Data = new { Name = d.AddMonths(month.Value) };
return Json(Data, JsonRequestBehavior.AllowGet);
}
return Json(new { Name=string.Empty}, JsonRequestBehavior.AllowGet);
}
现在我试过这个: -
31/05/2016
7
31/12/2016 00:00:00
但是在EndDate中我得到了这个值/Date(1483142400000)/
而不是"31/12/2016"
..所以有人可以据此提出建议吗?答案 0 :(得分:0)
或新日期(timeStamp)。
我认为 var csDate = new Date(&#39; 1483142400000&#39;); 将完成这项工作。
请注意,如果 dd / MM / yyyy 作为格式很重要,那么您构建该日期对象的选项将是: