【问题标题】:'Invalid template' error for kendo grid inside kendo tabstrip剑道标签条内剑道网格的“无效模板”错误
【发布时间】:2018-11-16 20:34:08
【问题描述】:

我想将剑道网格放置在剑道标签条内容中。它给出了“无效模板”错误。如果我只删除购买选项卡内的剑道网格,它可以正常工作。有解决办法吗?

<script id="invoice-template" type="text/kendo-tmpl">
@(Html.Kendo().TabStrip()
    .Name("tabStrip_#=Id#") // Id -> TransportId
    .SelectedIndex(0)
    .Animation(animation => animation.Open(open => open.Fade(FadeDirection.In)))
    .Items(items =>
    {
            items.Add().Text("Commercial").Content(@<text>
                <a href="\\#" class="k-new-commercial k-link k-button" title="New Commercial"><i class="fa fa-document"></i>&nbsp;&nbsp;New Commercial</a>
            </text>);
            items.Add().Text("Purchase").Content(@<text>
                <a href="\\#" class="k-new-purchase k-link k-button" title="New Purchase"><i class="fa fa-document"></i>&nbsp;&nbsp;New Purchase</a>
                <br />
                @(Html.Kendo().Grid<PurchaseInvoiceView>()
                                .Name("grid-purchase_#=Id#")
                                .Columns(columns =>
                                {
                                                    columns.Bound(c => c.InvoiceDate).Title("Date").Width(50).ClientTemplate("#= kendo.toString(InvoiceDate,'dd-MM-yyyy')#");
                                                    columns.Bound(c => c.InvoiceNo).Title("Number").Width(50)
                                                        .Filterable(f => f.Extra(false).Cell(cell => cell.Operator("contains").ShowOperators(false)));
                                                    columns.Bound(c => c.Lot).Title("Lot").Width(40)
                                                        .Filterable(f => f.Extra(false).Cell(cell => cell.Operator("contains").ShowOperators(false)));
                                                    columns.Bound(c => c.Supplier).Title("Group Company").Width(70)
                                                        .Filterable(f => f.Extra(false).Cell(cell => cell.Operator("contains").ShowOperators(false)));
                                                    columns.Bound(o => o.Quantity).Title("Quantity").Width(40).ClientTemplate("#= floatToDouble(Quantity)#");
                                                    columns.Bound(o => o.InvoiceAmount).Title("Amount").Width(40).ClientTemplate("#= floatToMoney(InvoiceAmount)#");
                                                    columns.Bound(c => c.CurrencyAsString).Title("").Width(40);
                                                })
                                .Sortable()
                                .Selectable()
                                .Pageable(pageable => pageable
                                    .Refresh(true)
                                    .PageSizes(true)
                                    .ButtonCount(5))
                                .DataSource(dataSource => dataSource
                                    .Ajax()
                                    .Read(read => read.Action("GetListOfPurchaseInvoice", "PurchaseInvoice", new { Area = "ar", transportId = "#=Id#" }))
                                    .PageSize(200)
                                ).ToClientTemplate())
            </text>);
            items.Add().Text("Cost").Content(@<text>
                <a href="\\#" class="k-new-cost k-link k-button" title="New Cost"><i class="fa fa-document"></i>&nbsp;&nbsp;New Cost</a>
            </text>);
    }).ToClientTemplate())
</script>

【问题讨论】:

    标签: asp.net-mvc kendo-grid kendo-template kendo-tabstrip


    【解决方案1】:

    您的 TabStrip 已在模板中。如果我没记错的话,你必须在 TabStrip 的items 中转义每个#。喜欢.Name("grid-purchase_\\#=Id\\#")

    【讨论】:

    • 嗯,我怎么错过了,谢谢@CarstenFranke。我保留了.Name("grid-purchase_#=Id#") ,但我在网格列中用\\# 更改了每个其他#,然后它就起作用了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2020-11-30
    • 2013-09-15
    • 1970-01-01
    相关资源
    最近更新 更多