2014-10-02 5 views
0

검도 눈금 열에 DateTime을 표시하려고하지만 아무것도 표시되지 않습니다. 다른 모든 열은 정상적으로 표시됩니다.Asp.net MVC의 Telerik 's Grid에서 DateTime 필드가 null로 표시됩니다.

을 Heres 모델 :

public class LogViewModel 
{ 
    public int Id { get; set; } 
    public string LoginName { get; set; } 
    public string Message { get; set; } 
    public string Task { get; set; } 
    public DateTime EntryDate { get; set; } 
} 

뷰 :

@(Html.Kendo().Grid<Models.LogViewModel>() 
    .Name("grid") 
    .Columns(columns => 
    { 
     columns.Bound(o => o.Task).Width("20%").Title(Resources.Task); 
     columns.Bound(o => o.Message).Width("55%").Title(Resources.Message); 
     columns.Bound(o => o.LoginName).Width("10%").Title(Resources.User); 
     columns.Bound(o => o.EntryDate).Width("15%").Title(Resources.Date); 
    }) 
    .Sortable() 
    .Filterable() 
    .Resizable(r => r.Columns(true)) 
    .Scrollable(scrollable => scrollable.Virtual(true)) 
    .HtmlAttributes(new { style = "height:430px;" }) 
    .ColumnMenu() 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .PageSize(100) 
     .Read(read => read.Action("GetLogData", "Log")) 
    ) 
) 

데이터 반환 컨트롤러 조치 : 여기

public JsonResult GetLogData([DataSourceRequest] DataSourceRequest request) 
    { 
     var data = this.dbLogContext.Logs.AsQueryable(); 

     return Json(data.ToDataSourceResult(request, l => new LogViewModel 
     { 
      Id = l.Id, 
      LogType = l.LogType, 
      LoginName = l.LoginName, 
      Message = l.DisplayableMessage, 
      Task = l.DisplayableTask ?? l.Task, 
      EntryDate= l.EntryDate 
     }), JsonRequestBehavior.AllowGet); 
    } 

을 그리고 액션에 의해 반환되고있는 데이터의 :

{"Data":[{"Id":1,"LogType":2,"LoginName":"Administrador","Message":"Erro ao criar campanha. Período de vendas inválido.","Task":"Criação de Campanha","EntryDate":"\/Date(1408367803637)\/","IsKey":false},{"Id":2,"LogType":4,"LoginName":"Operador RJ","Message":"Base de sorteio exportada com campanha em andamento","Task":"Exportação de Sorteio","EntryDate":"\/Date(1408367803637)\/","IsKey":false},{"Id":3,"LogType":6,"LoginName":"Operador PE","Message":"Um EC de nome \"Farmácia do Trabalhador\" foi criado.","Task":"Criação de EC","EntryDate":"\/Date(1408367803640)\/","IsKey":false},{"Id":4,"LogType":6,"LoginName":"Administrador","Message":"Contrato de captura de \"Cielo\" foi alterado.","Task":"Edição de Contrato","EntryDate":"\/Date(1408367803640)\/","IsKey":false},{"Id":5,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1409168290103)\/","IsKey":false},{"Id":6,"LogType":6,"LoginName":"admin","Message":"Pergunta secreta definida com sucesso.","Task":"ResetSecretQuestion","EntryDate":"\/Date(1409168302973)\/","IsKey":false},{"Id":7,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1409668083280)\/","IsKey":false},{"Id":8,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410186476820)\/","IsKey":false},{"Id":9,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410360292757)\/","IsKey":false},{"Id":10,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410368834727)\/","IsKey":false},{"Id":11,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410445689033)\/","IsKey":false},{"Id":12,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410455135503)\/","IsKey":false},{"Id":13,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410460921197)\/","IsKey":false},{"Id":14,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1410806956787)\/","IsKey":false},{"Id":15,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1411407682677)\/","IsKey":false},{"Id":16,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1411657058883)\/","IsKey":false},{"Id":17,"LogType":6,"LoginName":"","Message":"O usuário admin logou com sucesso.","Task":"Login","EntryDate":"\/Date(1412010615887)\/","IsKey":false}],"Total":17,"AggregateResults":null,"Errors":null} 

EntryDate 필드에는 모든 항목에 유효한 값이 있지만, 날짜 열에 ClientTemplate을 사용하려고하면 null : .columns.Bound(o => o.EntryDate).Width("15%").Title(Resources.Date).ClientTemplate("#= EntryDate #");이라고 표시됩니다.

JSON 날짜는 검도 그리드가 구문 분석 할 수 있어야하는 MS 형식이며, 이미 ISO/UTC 날짜 형식과 자바 스크립트 형식으로 날짜 형식을 지정했지만 문제가 지속됩니다.

저는 Asp.Net MVC 버전 2014.2.903.545에 Telerik의 UI 도구를 사용하고 있습니다.

답변

0

발견. Globalize.js의 parseDate가 검도 자신의 parseDate 메소드보다 우선합니다.

동일한 문제가있는 경우 kendo의 문화 자바 스크립트를 등록한 후에 globalize.js를 등록하는 것이 해결책입니다.

자세한 내용은 here에서 확인할 수 있습니다.