timeline.js + MVC + Ajax + JSON
こんにちは、
文字列を Json オブジェクトに変換中に問題が発生しました
Web ページにタイムラインを表示する必要があります。同じために 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]
しかし、今はDBからデータを表示する必要があるため、コントローラーで次の関数を呼び出しています
コントローラーの 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 オブジェクトに変換するにはどうすればよいですか...