引导日期显示格式总是错误
本文关键字:错误 显示格式 日期 | 更新日期: 2023-09-27 17:49:14
我得到了一个看似简单的日期显示,当另一个"Sale date " DropDownBoxFor被切换时,显示默认的"Start date "或AJAX结果日期。日期格式应设置为短日期,但显示总是以日期和时间格式显示。切换"销售日期"字段后,将检索对应的"销售日期"的"开始日期",并显示为RFC1123日期!
模型:
public DateTime StartDate { get; set; }
剃刀:
@Html.TextBoxFor(m => m.StartDate, "{0:d}", new { @readonly = "readonly", @class = "form-control" })
AJAX: success: function (data) {
var pattern = /Date'(([^)]+)')/;
var results = pattern.exec(data[0].StartDate);
var dt = new Date(parseFloat(results[1]));
$("#StartDate").val(dt);
将TextBoxFor更改为DisplayFor后,短日期正确显示,但在切换其他字段后不会更新。因此,我将DisplayFor包装在一个span中,并用AJAX中的.html()
替换了.val()
更改,但在切换后,格式恢复到默认和RFC1123的不正确日期和时间!有人能看出这是怎么回事吗?提前感谢!
我从来没有发现为什么会发生这种情况,但是我的解决方案实现了最终目标:我将TextBoxFor更改为EditorFor,然后任何时候使用切换,脚本将html文本更改为结果日期。
剃刀:<div class="startDate">
@Html.EditorFor(m => m.StartDate, "DateTime", "StartDate", new { @class = "form-control" })
</div>
AJAX: success: function (data) {
var pattern = /Date'(([^)]+)')/;
var results = pattern.exec(data[0].StartDate);
var dt = new Date(parseFloat(results[1]));
$(".startDate").text((dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear());