首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导日期显示总是格式错误

引导日期显示总是格式错误
EN

Stack Overflow用户
提问于 2016-06-24 14:51:24
回答 1查看 95关注 0票数 0

我有一个看似简单的日期显示,它显示默认的“开始日期”,或者在切换另一个“销售日期”DropDownBoxFor时显示AJAX结果日期。日期格式应设置为短日期,但显示总是以日期和时间格式显示。切换“销售日期”字段后,检索相应“销售日期”的“开始日期”,并显示为RFC1123日期!

型号:

代码语言:javascript
复制
public DateTime StartDate { get; set; }

剃须刀:

代码语言:javascript
复制
@Html.TextBoxFor(m => m.StartDate, "{0:d}", new { @readonly = "readonly", @class = "form-control" })

AJAX:

代码语言:javascript
复制
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!有人能看到这是怎么回事吗?事先非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-08 19:43:02

我从来没有找出为什么会发生这种情况,但我的解决方案实现了最终目标:我将TextBoxFor更改为EditorFor,然后每当使用切换时,脚本都会将html文本更改为最终日期。

剃须刀:

代码语言:javascript
复制
<div class="startDate">
    @Html.EditorFor(m => m.StartDate, "DateTime", "StartDate", new { @class = "form-control" })
</div>

AJAX:

代码语言:javascript
复制
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());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38016272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档