我正在使用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());
})
)
答案 0 :(得分:2)
你确定在Views / Home下有一个视图调用AjaxLoadedPersonalItem吗?
这是我可以看到不加载的唯一原因。
例如,我刚刚尝试了下面的代码并且工作正常
这是我添加到MVC项目的结构
到控制器
和各自的观点
这就是结果:
希望它可以提供帮助
答案 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>);