时间线.js + MVC + Ajax + JSON
你好,
将字符串转换为 Json 对象时出现问题
我必须在我的网页上显示时间线,我也使用了 Timeline.js,我可以使用如下静态数据运行时间线
静态数据
// Create a JSON data table
data = [
{
'start': new Date(2010, 7, 23),
'content': 'Conversation'
},
{
'start': new Date(2010, 7, 23),
'content': 'New Conversation'
},
{
'start': new Date(2010, 7, 23),
'content': 'Very New Conversation'
}
现在当我做
alert(data);
它给了我
[object Object],[object Object],[object Object]
但现在我必须显示来自数据库的数据,所以我在控制器上调用以下函数
控制器上的 GetTimeLine 方法
public JsonResult GetTimeline()
{
JsonResult jr = new JsonResult();
var objtimeline = objEntities.Timelines.Where(tl => tl.StudentID == Sessions.StudentID).ToList().AsQueryable();
String newstr = "[";
foreach(var tml in objtimeline)
{
DateTime date1 = Convert.ToDateTime(tml.CalculatedDate);
newstr += "{'start': new Date("+date1.Year+","+date1.Month+","+date1.Day+","+date1.Hour+","+date1.Minute+","+date1.Second+"),'content':'"+tml.Description+"'},";
}
newstr = newstr.TrimEnd(',');
newstr += "];";
jr.Data = newstr;
jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return jr;
}
调用控制器方法的函数
jQuery.ajax({
type: "POST",
url: "@Url.Content("~/Student/GetTimeline")",
success: function (result) {
data = result;
},
});
alert(data);
它给了我以下警报
[{'start': new Date(2012,2,11,0,0,0),'content':'Parents meeting'},{'start': new Date(2012,2,15,0,0,0),'content':'Exam Meeting'}];
所以问题在于将字符串转换为 Json 对象,
如何在我的视图中将从控制器返回的字符串转换为 Json 对象...