在正确的位置渲染局部视图

时间:2014-09-20 07:25:04

标签: c# asp.net-mvc telerik asp.net-mvc-partialview

尝试: 在telerik标签条中放置部分视图。

问题: 视图显示在选项卡条上方,而不是显示在第一个选项卡中。

我尝试了什么: 如果我使用RenderPage而不是RenderAction,那么视图会正确显示在tabstrip中,但是控制器不会被调用或加载gridview的模型。

到目前为止

代码:

部分视图:

@model IEnumerable<MyModel>

@{
    ViewBag.Title = "Index";
}

@*My code to load a GridView*@

包含标签条的视图:

@{
    ViewBag.Title = "MyView";
}


@(Html.Kendo().TabStrip()
          .Name("tabstrip")
          .Items(tabstrip =>
          {
              tabstrip.Add().Text("Index")
                  .Selected(true)
                  .Content(@<text>
                    @{Html.RenderAction("Index", "MyController");}
                </text>);
              tabstrip.Add().Text("Index2")
                  .Content(@<text>
                </text>);                                 
          })
)

1 个答案:

答案 0 :(得分:1)

Kendo UI TabStrip的Content配置方法应该用于&#34;静态&#34;内容。静态我指的是你已经拥有/知道的代码。要加载部分视图,最好使用LoadContentFrom配置方法。此方法需要现有Action的有效URL,该URL返回目标部分视图:

@(Html.Kendo().TabStrip()
      .Name("tabstrip")
      .Items(tabstrip =>
      {
          tabstrip.Add().Text("Index")
              .Selected(true)
              .LoadContentFrom(Html.Action("Index", "MyController"));
          tabstrip.Add().Text("Index2")
              .Content(@<text>
            </text>);                                 
      })