在mvc3 razor客户端上显示来自wcf服务的数据

时间:2013-04-22 11:56:58

标签: asp.net-mvc wcf razor

我有一个客户端asp.net mvc3 razoc,它使用wcf服务。 我有一个方法GetTopCollections返回Collection []"服务器上的顶级集合" 并且我有一个方法GetTreeView(字符串id),它只返回此Collection的第一级而不是所有树。 我希望,第一次展示顶级系列(它已经完成),当我点击其中一个顶级系列时,我通过调用方法GetTreeView显示它的第一级树(' s树)处理)。

这是控制器上的第一个方法:

public ActionResult GetData()
    {
        client = new DSServiceClient();
        Collection[] _top = new Collection[10];
        client.Open();
        _top = client.GetTopCollections();
        client.Close();
        return View(_top);
    }

这是GetData的视图

@model DSClient.Controllers.Collection[]

@{
   ViewBag.Title = "GetData";
   @Html.ActionLink( @Model.ElementAt(0).Handle,"GetData3","Home",new { handle=@Model.ElementAt(0).Handle });
 }

这是GetData2()

public PartialViewResult GetData2(string handle)
    {
        client = new DSServiceClient();
        Tree tree = new Tree();
        tree = client.GetTreeView(handle);
        return PartialView("~/Views/Shared/GetData2.cshtml",tree);
    }

这是GetData2的视图

@model DSClient.Controllers.Tree

@{
ViewBag.Title = "GetData3";
@Model.listObjects.ElementAt(0).Name;
}

这是调用GetData

的链接
@Html.ActionLink("WebService", "GetData", "Home")

我的问题是GetData3的结果在其他视图上被置换,但我想在seme视图上显示它。就像树视图一样。 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要:

  1. 渲染整个树并隐藏第二级,直到用户点击它
  2. 只加载您正在执行的第一级,并在用户单击时使用AJAX加载其他级别
  3. 为您提供一些jQuery树视图 - > http://freebiesdesign.com/7-best-jquery-treeview-plugins/