在我的控制器中使用Telerik DataSourceRequest时,任何具有DateTime数据类型的属性都将作为
返回{"Data":[{"EffectiveStart":"\/Date(1393660800000)\/"}
而不是MM/dd/yy
我的模型上的属性是:
[DataType(DataType.DateTime)]
public DateTime EffectiveStart;
我还在我的文件中包含了Telerik的js文化参考,并发起了kendo.culture()
没有运气。我错过了什么?
这里要求的是控制器:
public ActionResult Grid_Read([DataSourceRequest]DataSourceRequest request, int id)
{
try
{
using (var db = new MyEntities())
{
var query = from refA in db.Entity
join refB in db.Entity on refA.ID equals refB.ID
where refA.ID == id
select new ResultList
{
ResultId = refA.PayeeId,
EffectiveStart = refA.EffectiveStart,
};
List<ResultList> myvar = query.ToList();
DataSourceResult result = myvar.ToDataSourceResult(request);
return Json(result);
}
}
catch (Exception ex)
{
return Json(null);
}
}
答案 0 :(得分:2)
你可以做的一件事是替换
return Json(result);
通过
return Content(JsonConvert.SerializeObject(result));
顺便说一句,你需要使用Newtonoft.Json来使用JsonConvert。
答案 1 :(得分:1)
感谢所有回复。对此的解决方案是包括一些客户端JavaScript,它在运行时格式化字段:
function toDate(value)
var dateRegExp = /^\/Date\((.*?)\)\/$/;
var date = dateRegExp.exec(value);
return new Date(parseInt(date[1]));
}
然后将一个添加到Telerik Grid列:
.ClientTemplate("#= kendo.toString( toDate(DateCreated), \"MM/dd/yyyy\" ) #")