【问题标题】:Partial View in kendo grid column剑道网格列中的部分视图
【发布时间】:2015-06-04 16:26:00
【问题描述】:

我有一个启用了 ajax 的剑道网格,它带有一个客户端模板,该模板显示来自该行所绑定的模型的数据。 (因为 ajax,使用 columns.Template 似乎是不可能的。)

@(Html.Kendo().Grid<Model>()
    .Columns(columns =>
    {
       columns.Bound(x => x.SubModel).ClientTemplate("bla #= SomePropertyOfSubModel # bla")
    })
    .DataSource(dataSource => dataSource.Ajax())

这基本可行,但我对结果不满意。例如,我无法使模板中的剑道控件正常工作。我宁愿在客户端模板中挂一个局部视图,但是没有成功。我得到的最远的是

columns.Bound(x => x.SubModel).ClientTemplate(Html.PartialView("view", //??) //how to bind to SubModel?
.ToHtmlString())

感谢任何帮助。

【问题讨论】:

    标签: c# ajax asp.net-mvc partial-views kendo-asp.net-mvc


    【解决方案1】:

    我认为您的剑道控制模板中需要.ToClientTemplate()

    view.cshtml

    @(Html.Kendo().NumericTextBox()
          .Name("NameHere")
          .Min(0)
          .HtmlAttributes(new { style = "width:200px" })
          .ToClientTemplate()                                 
    )
    

    然后,

     columns.Bound(c => c.SubModel).ClientTemplate(Html.Partial("view").ToHtmlString());
    

    编辑

    如果你想将模型绑定到局部视图,你可以这样做

    columns.Bound(c => c.SubModel.Property).Template(@<text>Html.Partial("view", item.SubModel)</text>);
    

    【讨论】:

    • 嗨,我可以将局部视图绑定到 x.SubModel 吗?
    • @AGuyCalledGerald,我编辑了答案。或者我可能没有真正理解这个问题
    • 谢谢,但我想我不能使用模板,因为我的网格启用了 ajax
    • 正如 Mike 所说,我将 kendo 控件直接插入到客户端模板中。也看这里:stackoverflow.com/questions/25643939/…
    【解决方案2】:

    这是实现此目的的另一种方法。

     @(Html.PageElement().Kendo().Grid<myModel>()
          .Name("GridName")
          .Columns(col => 
                         Html.RenderPartial("Partials/_myDamnedPartial", col)  
    

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多