我是剑道新手,正在尝试向网格添加自定义命令。 我一直在浏览示例页面,StackOverflow和Telerik的站点,并找到了多个具有以下内容的示例:
columns.Command(command =>
{
command.Custom("Details").Text("Show Details").Action("Details", "Billing");
});
当我尝试使用它时,我收到以下错误:
'GridCustomActionCommandBuilder'不包含 'Action'的定义和最佳扩展方法重载 'UrlHelperExtensions.Action(IUrlHelper,string,object)'需要一个 “IUrlHelper”类型的接收器
然后我从telerik尝试了这个例子:
columns.Template(@<text>@Html.ActionLink("Edit", "Home", new { id = item.ProductID })</text>);
但是得到这个错误:
无法将lambda表达式转换为'string'类型,因为它不是a 委托类型
只是为了确认导致错误的原因,然后取出ActionLink并仅使用它:
columns.Template(@<text>
<div>help me!!</div>
</text>);
并得到了同样的错误:
总代码段如下所示:
@(Html.Kendo().Grid<OrganisationEmployeesViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.EmployeeID).Visible(false);
columns.Template(@<text>
<div>help me!!</div>
</text>);
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("Employees_Read", "Organisations"))
)
.Deferred()
)
我正在使用现有样品,但不知道出了什么问题。
答案 0 :(得分:0)
我找到了一种方法:
columns.Template("<a href='" +
Url.Action("ControllerAction", "Controller") +
"?Parameter=#= RecID #'" +
">DisplayText</a>");
这也可以应用于绑定列,如下所示:
columns.Bound(p => p.Name).ClientTemplate("<a href = '" +
Url.Action("Details", "Employees") +
"/#= EmployeeID #'" +
">#=Name#</a>");
您是否希望在Kendo网格上拥有自定义工具栏操作: 我使用标准的bootstrap类来应用默认值:
.ToolBar(t => t.ClientTemplate("<a class='k-button k-button-icontext k-grid-add' href='" +
Url.Action("OrganisationCreate", "Employees", new { OrganisationId = Model.OrganisationID }) +
"'><span class='k-icon k-add'></span>Add new Employee</a>") )