C# MVC应用程序数据格式遵循JSON.parse

o2gm4chl  于 2023-03-09  发布在  C#
关注(0)|答案(1)|浏览(107)

我有一个mvc应用程序,它从SQL数据库中提取数据并将数据传递给视图。我在接收数据的视图中有一个kendo网格。其中一个网格列是日期列。数据在SQL数据库中存储为DateTime,应用程序中的模型具有变量DateTime?当数据发送到视图时,日期列的格式如下:

columns.Bound(sc => sc.RefundDate).Width(10).Title("Refund Date").Format("{0:MM/dd/yyyy}");

当日期显示时,正如我所期望的那样。例如,2023年3月7日的日期显示为03/07/2023。
现在,我正在设置一个 AJAX 调用控制器,它在一个特定的按钮点击时执行,ajax调用检索一组新的数据,并显示在通用剑道文本框中,我有一个javascript,ajax在成功时执行,下面是javascript的代码:

function SetSmallClaimsDetails(data) {
    console.log(data);
    $("#SmallClaimsRefundDate").val(data.RefundDate);
}

当代码运行时,我查看控制台日志,看到以下内容:

Object
   ActualRefund: 0
   RefundDate: "/Date(1678206755990)/"

所以我认为日期是由JSON转换的,这是 AJAX 调用的代码:

var url = '/Case/GetSmallClaimsByRecordNumber?ID=789456';
    
    $.ajax({
        type: 'GET',
        url: url,
        dataType: 'text',
        success: function (data) {
            if (data != undefined) {
                var jsonData = JSON.parse(data);
                jsonData.ID = ID;
                SetSmallClaimsDetails(jsonData);
            }
        }
    });

如果我把我的javascript改成这样:

function SetSmallClaimsDetails(data) {
    console.log(data);
    var date = new Date();
    if (!data.RefundDate) {
        date=''
    } else {
        date = new Date(parseInt(data.RefundDate.substr(6)));
    }
    $("#SmallClaimsRefundDate").val(date);
}

则日期显示为

Tue Mar 07 2023 11:32:35 GMT-0500 (Eastern Standard Time)

如何将日期显示为03/07/2023?
谢谢你。

2g32fytz

2g32fytz1#

function SetSmallClaimsDetails(data) {
    console.log(data);
    var date = new Date(parseInt(data.RefundDate.substr(6)));
    var formattedDate = date.toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' });
    $("#SmallClaimsRefundDate").val(formattedDate);
}

请检查options,它可以很好地解决您的问题。

相关问题