2012-03-09 77 views
0

我想從數據庫中查詢數據,以便在ASP.NET MVC 2網頁中創建主菜單現場。如何從控制器獲取JSON在ASP.net MVC 2視圖中顯示

這是在我的控制器代碼:

public JsonResult GetMenu(string id) 
{ 
    JsonResult jr = new JsonResult(); 
    var ien_menu = ( 
     from d in this.DataContext.Departments              
     join c in this.DataContext.Categories         
     on d.ID equals c.DepartmentID 
     join i in this.DataContext.Items on 
     c.ID equals i.CategoryID 
     where d.Active == 1 
     && d.ActiveInWeb >0 
     && c.Active > 0 
     && c.ActiveInWeb >0 
     && i.Active > 0 
     select d 
    ).Distinct() 
    .OrderBy(s=>s.Name); 
    jr.Data = ien_menu.ToList(); 
    jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet; 
    return jr; 
} 

但我真的不知道如何利用這些數據,並在我的局部視圖顯示。我需要做什麼?

回答

1

你是怎麼稱呼這個控制器動作的?如果您通過ajax加載,您可以使用jQuery獲取Json結果。看看成功功能獲取數據 - http://api.jquery.com/jQuery.ajax/

+0

感謝您的回答。我還不知道,我怎樣才能調用這個控制器,反正我永遠不知道並試圖通過Jquery或Json獲取數據。 – titi 2012-03-12 01:12:27

+0

in document.ready或者當你想加載菜單json數據時,使用jQuery進行ajax調用。假設您的控制器操作的URL是http://example.com/foo/getmenu,那麼在JavaScript中,您可以執行類似'$ .ajax({url:http://example.com/foo/getmune,success:function (數據){//這是你可以在數據對象中解析json的地方}' – Sachin 2012-03-12 15:17:02

+0

好的,謝謝,但是你能告訴我,我怎樣才能循環從控制器返回的jr集合呢? $ .getJSON(url,{id:t},function(data){$ .each(data,function(index,dataOption){});});'? – titi 2012-03-13 00:41:46

相關問題