使用.Content加载网格的Kendo Tabstrip,.LoadContentFrom没有

时间:2014-02-27 16:10:44

标签: asp.net-mvc data-binding kendo-ui kendo-grid asp.net-mvc-5

我有一个tabtrip在两个不同的标签中加载一个网格(相同的网格,相同的数据)。

    @(Html.Kendo().TabStrip()
    .Name("tabstrip")
    .Items(tabstrip =>
    {     
        tabstrip.Add().Text("Cycle Summary")
            .Content(@<text>@Html.Action("VQCycleSummary", "Sessions", new { id = Model.ID })</text>).Selected(true);
        tabstrip.Add().Text("Cycle Summary2")
            .LoadContentFrom("VQCycleSummary", "Sessions", new { id = Model.ID });


    })
)

网格:

@(Html.Kendo().Grid(Model)
  .Name("cycleGrid")
  .DataSource(ds => ds
      .Ajax()
      .Read(read => read.Action("VqCyclesSummary_Read", "Sessions", new {sessionId = ViewBag.SessionID}))
      .PageSize(100)
  )
  .Columns(columns =>
  {
      columns.Bound(c => c.TimeStampUTC).Format("{0: MM/dd/yyyy h:mm:ss tt}").Width(180);

      for (int i = 1; i <= ((int) ViewBag.MaxChannelNumber); ++i)
      {
          columns.Bound(string.Format("Channel{0}_DL", i)).Format("{0:N5}");
      }
      for (int i = 1; i <= ((int) ViewBag.MaxChannelNumber); ++i)
      {
          columns.Bound(string.Format("Channel{0}_UL", i)).Format("{0:N5}");
      }
      columns.Bound(c => c.GPS_Lat).Format("{0:N5}");
      columns.Bound(c => c.GPS_Long).Format("{0:N5}");
  })
  .Filterable()
  .Sortable()
  .Scrollable(c => c.Height(500)).Scrollable(c => c.Virtual(true)))

控制器:

public ActionResult VQCycleSummary(long id)
    {
    using (var context = new Entities())
    {
        short? max = context.TestDevices.Where(td => td.SessionID == id).Max(td => td.ChannelNumber);


        ViewBag.MaxChannelNumber = max.HasValue ? (int) max + 1 : 0;
        ViewBag.SessionID = id;
        return PartialView("VqCycleSummary");
    }
}

public ActionResult VqCyclesSummary_Read([DataSourceRequest] DataSourceRequest request, int sessionId)
{
    using (var context = new Entities())
    {
        var cycles = //get data

        DataSourceResult result = cycles.ToDataSourceResult(request);

        return Json(result);
    }
}

我看到数据在第一个网格上正确显示,但不是第二个网格。我确实看到从两个网格的控制器返回的数据。将为第二个网格创建列,但不显示实际数据行。

1 个答案:

答案 0 :(得分:2)

以不同的方式命名您的网格。您不能拥有两个具有相同名称的小部件 - 它们在标记中用作ID,因此第二个Grid的jQUery选择器将失败