我正在使用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());
})
)
你确定你在Views / Home下有一个视图调用Ajax Loaded Personal Item吗?
这是我可以看到不加载的唯一原因。
例如,我刚刚尝试了下面的代码,它工作正常
这是我添加到MVC项目的结构
到控制器
和各自的意见
这就是结果:
希望它可能有所帮助
您必须确保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>);