2013-05-10 80 views
1

我正在處理ASP.NET MVC, 我的應用程序是顯示菜單列表框中,當你點擊任何項目時,另一個視圖將顯示列表submenues,我有一個問題是如何到JSON在第一所有控制器返回視圖模型對象的返回另一個視圖 以查看到像下面從控制器返回對象到另一個視圖在ASP.Net MVC

return View(data); 

其中數據是陣列顯示它在列表框字符串,我選擇一些項目時添加事件到列表框

@Html.Orubase().ListBox("list").RenderMode(RenderMode.Auto).IOS(c => c.ShowCorners(false)).BindDataSource(Model, map => 
{ 
    map.MapTo<string>(binding => 
    { 
     binding.ItemDataBound((item, nd) => 
     { 
      item.Text = nd; 
     }); 
    }); 
}).OnItemSelect("select") 

這裏選擇的是調用另一個函數在控制器javascript函數

function select(event, d) { 
     var index = d.selectedItemIndex; 

     $.ajax({ 
      url: '@Url.Action("GetSubMenue", "Home")', 
      type: 'GET', 
      dataType: 'json', 
      data:{ind:index}, 
      cache: false, 

      success: function (data) { 

      } 
     }); 

現在GetSubMenue函數將返回以下對象的「數據」,也就是字符串的另一個數組

return Json(data,JsonRequestBehavior.AllowGet); 

現在我想GetSubMenue功能將Json數據對象返回到另一個視圖,以便在新列表中查看它 因此,您能否幫助我請

+0

你可能要改寫這個公司很難理解你的要求 – 2013-05-10 04:51:07

+0

解釋我的問題 在家裏鑑於我在JavaScript中有以下的AJAX,它呼籲一些事件功能選擇(事件,d){ $ .ajax({url:'@ Url.Action(「GetSubMenues」,「Home」)', type:'GET', dataType:'json', data:{ind:index}, cache:假, 成功:function(){ } }); 和在家庭控制器 公共的ActionResult GetSubMenues(INT IND) { 列表數據=新列表(新的字符串[10]); 的for(int i = 0; I <大小;我++) { //將值分配給數據 } 現在我怎樣才能傳遞數據對象從該控制器到稱爲SubMenue與視圖數據對象的另一視圖模型 – 2013-05-10 05:34:43

+2

請修改您的原始問題其無用的張貼代碼在評論 – 2013-05-10 05:39:44

回答

0

您可能想要查看jquery templates。您可以使用主視圖渲染模板,然後在檢索子菜單時使用json數據填充模板。

或者,您可以從ajax調用中返回PartialView並手動替換文檔中的html。

+0

jquery模板已被停用超過1年前。我會建議一個替代方案。我使用[handlebars](http://handlebarsjs.com/),它的效果很好,並且有很好的表現。 – LeftyX 2013-05-10 08:43:53

+0

感謝Daneil和Leftyx的迴應,我使用了PartialView,併成功查看數據,但在相同的視圖中,但我想在新視圖中顯示數據,我試圖「返回視圖」,但它沒有給我任何輸出,所以你能幫我轉換到新的觀點 – 2013-05-12 02:37:32

相關問題