0

我在 Telerik tabstrip 中嵌套内容时遇到问题。在我的标签条中,我有一个 Telerik 网格。我想使用 clienttemplate 在其中一个网格列中显示一个下拉列表。标签条看起来像这样(为简洁起见,删除了内容):

tabstrip.Add()
    .Text("Products").SpriteCssClasses("label-info")
    .HtmlAttributes(new { style = "background-color: #ffffff;" })
    .Enabled(false).Selected(true)
    .Content(@<text>
        @using (Html.BeginForm("Products", "FeeSchedule", FormMethod.Post, new { @class = "form-horizontal", id = "indexForm" }))
    }
    </text>);

我有一个嵌套在 tabstrip 选项卡中的 Telerik 网格:

@(Html.Telerik().Grid<FB_LOOKUP_PRODUCTS>()
    .Name("Grid")
    .HtmlAttributes(new { style = "width:80%" })
    .ToolBar(commands => commands.Insert())
    .DataKeys(keys => keys.Add(m => m.PRODUCT_ID))
    .DataBinding(dataBinding => dataBinding.Ajax()
        .Select("_ProductsTest", "FeeSchedule")
        .Update("UpdateOrder", "Grid")
        .Insert("UpdateOrder", "Grid"))
    .Columns(columns =>
    {
        columns.Bound(m => m.PRODUCT_NME).Width(300).Title("Products");
        columns.Bound(m => m.PRODUCT_ID).Title("Product ID").ClientTemplate(
            @<text>
                @RenderTabStripContent()
            </text>
        );
        columns.Command(commands => commands.Edit()).Title("Edit").Width(70);
    })
    .Editable(editing => editing.Mode(GridEditMode.InLine))
    .Pageable()
)

我正在尝试使用@helper 模板(@RenderTabStripContent())在网格列中显示下拉列表。模板如下所示:

@helper RenderTabStripContent()
{
    @<text>
        @(Html.Telerik().DropDownList()
            .Name("PRODUCT_ID")
            .BindTo(new SelectList((IEnumerable)ViewBag.Products, "PRODUCT_ID", "PRODUCT_NME", "Select..."))
            .HtmlAttributes(new { style = "width:250px;" })
        )
    </text>                   
}

我无法让这个工作。我不断收到以下标记错误:

解析器错误消息:内联标记块 (@

内容

) 不能嵌套。只允许一级内联标记。

任何帮助是极大的赞赏。谢谢!

4

1 回答 1

0

尝试替换这个:

columns.Bound(m => m.PRODUCT_ID).Title("Product ID").ClientTemplate(
    @<text>
        @RenderTabStripContent()
    </text>
);

有了这个:

columns.Bound(m => m.PRODUCT_ID).Title("Product ID").ClientTemplate(
        RenderTabStripContent()
);
于 2013-07-08T15:11:49.950 回答