Kendo ui 在DropDownList项目模板中包含剑道小部件
我正在用Razor语法定义剑道下拉列表:Kendo ui 在DropDownList项目模板中包含剑道小部件,kendo-ui,Kendo Ui,我正在用Razor语法定义剑道下拉列表: @(Html.Kendo().DropDownList() .Name("viewList") .BindTo(Model.Definitions) .DataTextField("Name") .DataValueField("Name") .HtmlAttributes(new { style = "width: 400px" }) .Value("Default") .TemplateI
@(Html.Kendo().DropDownList()
.Name("viewList")
.BindTo(Model.Definitions)
.DataTextField("Name")
.DataValueField("Name")
.HtmlAttributes(new { style = "width: 400px" })
.Value("Default")
.TemplateId("item-template"))
使用外部项目模板:
<script id="item-template" type="text/x-kendo-template">
<div>
#= Name #
</div>
</script>
#=姓名#
我想在文本前放置一个按钮:
<script id="item-template" type="text/x-kendo-template">
<div>
@(Html.Kendo().Button()
.Name("deleteButton")
.HtmlAttributes( new {type = "button"} )
.SpriteCssClass("k-icon k-delete")
.Content("Delete"))
#= Name #
</div>
</script>
@(Html.Kendo().Button())
.Name(“删除按钮”)
.HtmlAttributes(新的{type=“button”})
.spritecsclass(“k图标k删除”)
.内容(“删除”))
#=姓名#
这是失败的。在Chrome调试控制台中,我得到:“未捕获错误:无效模板”。有没有办法在模板中放置另一个剑道UI小部件?Telerik站点和其他地方的示例似乎没有涵盖这种情况。您需要在模板内的控件中添加一个.ToClientTemplate()。我还将指出,您应该根据模板的ID数据为按钮指定一个唯一的名称
@(Html.Kendo().Button()
.Name("deleteButton_"+data.MyID)
.HtmlAttributes( new {type = "button"} )
.SpriteCssClass("k-icon k-delete")
.Content("Delete")
.ToClientTemplate()
)