Kendo UI标签条

时间:2014-04-01 04:50:14

标签: html ajax kendo-ui

我正在使用ASP.NET MVC 4和Kendo UI。如何使用Ajax加载TabStrip内容,请记住有不同的视图(.cshtml)。

最后TabStrip项(操作,控制器)永远不会加载。

@(Html.Kendo().TabStrip()
              .Name("tabstrip")
              .Items(tabstrip =>
              {
                  tabstrip.Add().Text("Dimensions & Weights")
                      .Selected(true)
                      .LoadContentFrom(Url.Content("~/Content/tabstrip/ajax/ajaxContent1.html"));

                  tabstrip.Add().Text("Engine")
                      .LoadContentFrom(Url.Content("~/Content/tabstrip/ajax/ajaxContent2.html"));

                  tabstrip.Add().Text("Chassis")
                      .LoadContentFrom("AjaxLoadedPersonalItem", "Home");
                      //.Content(Html.Action("AjaxLoadedPersonalItem", "Home").ToString());
              })
        )

2 个答案:

答案 0 :(得分:2)

你确定在Views / Home下有一个视图调用AjaxLoadedPersonalItem吗?

这是我可以看到不加载的唯一原因。

例如,我刚刚尝试了下面的代码并且工作正常

enter image description here

这是我添加到MVC项目的结构

到控制器 enter image description here

和各自的观点

enter image description here

这就是结果:

enter image description here

希望它可以提供帮助

答案 1 :(得分:0)

您必须确保AjaxLoadedPersonalItem是位于Views\Home文件夹中的视图的名称,并且必须在Controller的HomeController类中具有函数才能返回它:

public ActionResult AjaxLoadedPersonalItem()
{
    return View();
}

然后,如果您直接从页面根目录下的/Home/AjaxLoadedPersonalItem转到页面,则需要检查视图是否可以单独呈现。假设一切就在那里并且可以正常工作:

tabstrip.Add().Text("Chassis")
    .LoadContentFrom("AjaxLoadedPersonalItem", "Home");

应该可以正常工作,但也可以尝试将其作为部分视图加载:

tabstrip.Add().Text("Chassis")
    .Content(@<text>@Html.Partial("AjaxLoadedPersonalItem")</text>);