我的Razor View上有一个标签条,如下所示:
@(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的Dictionary。选项卡将字符串映射到每个选项卡的ViewModel。
在foreach循环的每次迭代中, tab 实际上是我想绑定到正在加载的实验室的ViewModel。
有没有办法将ViewModel绑定,比方说Tabs [“tabA”]到LoadContentFrom返回的局部视图(“tabA”,“Account”);?
答案 0 :(得分:0)
不,这不可能,因为标签将由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));
}