将VIewModel绑定到ajax加载的TabStrip选项卡

时间:2013-08-16 19:06:34

标签: tabs kendo-ui viewmodel partial

我的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”);?

1 个答案:

答案 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));        
}
相关问题