将对象从Controller返回到ASP.Net MVC中的另一个视图

时间:2013-05-10 03:03:53

标签: asp.net-mvc

我正在研究ASP.NET MVC, 我的应用程序是在列表框中显示菜单列表,当您单击任何项​​目时,另一个视图将显示子菜单列表,我有一个问题是如何将Json返回到另一个视图  在第一个控制器返回视图模型对象中查看,以便在列表框中显示它,如下所示

  return View(data);

其中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")

其中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函数将返回以下对象“data”,这是另一个字符串数组

   return Json(data,JsonRequestBehavior.AllowGet);

现在我想要GetSubMenue函数将Json数据对象返回到另一个视图以在新列表中查看它 那么,你能帮帮我吗

1 个答案:

答案 0 :(得分:0)

您可能需要查看jquery templates。您可以使用主视图渲染模板,然后在检索子菜单时使用json数据填充模板。

或者,您可以从ajax调用返回PartialView并手动替换文档中的html。