将VIewModels绑定到ajax加载的TabStrip选项卡
我的Razor视图上有一个选项卡条,如下所示:将VIewModels绑定到ajax加载的TabStrip选项卡,tabs,kendo-ui,viewmodel,partial,Tabs,Kendo Ui,Viewmodel,Partial,我的Razor视图上有一个选项卡条,如下所示: @(Html.Kendo().TabStrip() .Name("tabstrip") .Items(tabstrip => { foreach (var tab in @Model.Tabs.Values) { tabstrip.Add().Text(tab.Title)
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(tabstrip =>
{
foreach (var tab in @Model.Tabs.Values)
{
tabstrip.Add().Text(tab.Title)
.LoadContentFrom(tab.Title.Replace(" ", string.Empty), "Account"); //remove spaces for action methods
}
})
)
控制器返回每个选项卡的局部视图。主视图绑定到名为AccountViewModel的视图模型,该视图模型有一个名为Tabs的字典。选项卡将字符串映射到每个选项卡的ViewModels
在foreach循环的每次迭代中,tab实际上是我想要绑定到正在加载的实验室的ViewModel
有没有办法将ViewModel,比如Tabs[“tabA”]绑定到LoadContentFrom(“tabA”,“Account”)返回的部分视图 否,这无法完成,因为选项卡将由ajax请求加载。返回局部结果的操作方法需要正确设置该局部视图的模型 另一个选项是避免使用LoadContentFrom:
foreach (var tab in @Model.Tabs.Values)
{
tabstrip.Add().Text(tab.Title)
.Content(@Html.Partial(/* partial view name */ tab.Title, /* view model */ tab));
}
将ViewModel绑定到局部视图是什么意思?您希望
LoadContentFrom(“tabA”,“Account”)
返回一个强类型的局部视图,其中Tabs[“tabA”]作为模型,对吗?是的,没错。Tabs[“tabA”]将是tab迭代器。啊,谢谢!我需要LoadContentFrom,因为我需要使用ajax。