Kendo UI标签条

问题描述 投票:1回答:2

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

最后一个TabStrip项目(Action,Controller)永远不会加载。

@(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());
              })
        )
html ajax kendo-ui
2个回答
2
投票

你确定你在Views / Home下有一个视图调用Ajax Loaded Personal Item吗?

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

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

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

到控制器

和各自的意见

这就是结果:

希望它可能有所帮助


0
投票

您必须确保AjaxLoadedPersonalItem是位于Views\Home文件夹中的视图的名称,并且在您的控制器中的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>);
© www.soinside.com 2019 - 2024. All rights reserved.