Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用handlebar.js模板显示日期时间_Javascript_C#_Asp.net Mvc_Datetime_Handlebars.js - Fatal编程技术网

Javascript 无法使用handlebar.js模板显示日期时间

Javascript 无法使用handlebar.js模板显示日期时间,javascript,c#,asp.net-mvc,datetime,handlebars.js,Javascript,C#,Asp.net Mvc,Datetime,Handlebars.js,各位。在我的ASP.NET MVC项目中,我有一个视图,其中包含使用handlebar.js模板显示的对象列表。每个对象都有一个datetime属性,我希望在某处显示或传递该属性(例如,另一个视图)。问题是,我的模板显示的日期时间数据如下所示: /Date(957819600000)/ 我的模型属性: [Required] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:dd'/'MM'/'yyyy

各位。在我的ASP.NET MVC项目中,我有一个视图,其中包含使用handlebar.js模板显示的对象列表。每个对象都有一个datetime属性,我希望在某处显示或传递该属性(例如,另一个视图)。问题是,我的模板显示的日期时间数据如下所示:

/Date(957819600000)/
我的模型属性:

[Required]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:dd'/'MM'/'yyyy}", ApplyFormatInEditMode = true)]
    public DateTime CarManufactureDate { get; set; }
@model IEnumerable<Model.DTO.CarDTO>
<script id="carListRow" type="text/x-handlebars-template">
{{#each cars}}
<tr>
    <td>
        {{CarName}}
    </td>
    <td>
        {{CarNickName}}
    </td>
    <td>
        {{CarNumber}}
    </td>
    <td>
        {{CarManufactureDate}}
    </td>
    <td>
        <a class="btn btn-danger" href="#" data-cars-id="{{Id}}" data-cars-name="{{CarName}}" data-cars-date="{{CarManufactureDate}}" role="button" onclick="carController.deleteCar(this)">@Resources.Resource.deleteString</a>
    </td>
</tr>
{{/each}}
这是我的模板:

[Required]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:dd'/'MM'/'yyyy}", ApplyFormatInEditMode = true)]
    public DateTime CarManufactureDate { get; set; }
@model IEnumerable<Model.DTO.CarDTO>
<script id="carListRow" type="text/x-handlebars-template">
{{#each cars}}
<tr>
    <td>
        {{CarName}}
    </td>
    <td>
        {{CarNickName}}
    </td>
    <td>
        {{CarNumber}}
    </td>
    <td>
        {{CarManufactureDate}}
    </td>
    <td>
        <a class="btn btn-danger" href="#" data-cars-id="{{Id}}" data-cars-name="{{CarName}}" data-cars-date="{{CarManufactureDate}}" role="button" onclick="carController.deleteCar(this)">@Resources.Resource.deleteString</a>
    </td>
</tr>
{{/each}}
@model IEnumerable
{{{每辆车}
{{CarName}}
{{CarNickName}}
{{CarNumber}}
{{CarManufactureDate}
{{/每个}}

为什么会发生这种情况,我能做些什么

您可以使用。将DateTime属性装饰为

[Required]
[DataType(DataType.Date)]
[JsonConverter(typeof(CustomDateTimeConverter))]
[DisplayFormat(DataFormatString = "{0:dd'/'MM'/'yyyy}", ApplyFormatInEditMode = true)]
public DateTime CarManufactureDate { get; set; }
创建一个类
CustomDateTimeConverter

class CustomDateTimeConverter : IsoDateTimeConverter
{
    public CustomDateTimeConverter()
    {
        base.DateTimeFormat = "dd/MM/yyyy";
    }
}
在你看来,你可以使用

var encodedCarData = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.ToList()));

你是如何从CarDTO ViewModel构建javascript对象的?@Dandy By js object你是指我用于模板的对象吗?我在用这个
var encodedCarData=@Html.Raw(Json.Encode(Model.ToList())嗯,它正在工作。有点添加或更改日期后,这种混乱再次出现。我认为这可能是datetimepicker的问题。我使用的是eonasdan引导datetimepicker,它使用'DD.MM.YYYY'格式。当我申请新的日期时,一切都很正常,除了我试图看到结果的时候(它再次以令人毛骨悚然的格式出现,但在重新加载页面后,一切都很正常,但这仍然是一个问题)