【发布时间】:2016-10-24 03:17:39
【问题描述】:
我是 Kendo 新手,正在尝试将自定义命令添加到网格中。 我一直在浏览示例页面、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 表达式转换为类型“字符串”,因为它不是 委托类型
只是为了确认导致错误的原因,然后取出 ActionLink 并仅使用此:
columns.Template(@<text>
<div>help me!!</div>
</text>);
得到了同样的错误:
sn-p总代码如下:
@(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()
)
我正在使用现有的示例,但不知道出了什么问题。
【问题讨论】:
-
您是否在视图(可能是布局视图)中包含了所有必要的剑道脚本引用?
-
@counterflux 如上所述,我是剑道新手。我的 _Layout.cshtml 文件中有对 kendo.aspnetmvc.min.js 和 kendo.all.min.js 的引用。我需要添加更多引用吗?如何添加它们?
-
我有一个捆绑包:
~/Content/kendo/2016.1.226/kendo.common.min.css ~/Content/kendo/2016.1.226/kendo.mobile.all.min.css ~/Content/kendo/2016.1.226/kendo.dataviz.min.css ~/Content/kendo/2016.1.226/kendo.flat.min.css ~/Content/kendo/2016.1.226/kendo.dataviz.flat.min.css ~/Scripts/kendo/2016.1.226/jquery.min.js ~/Scripts/kendo/2016.1.226/jszip.min.js ~/Scripts/kendo/2016.1.226/kendo.all.min.js我用于我的应用程序。您的代码似乎没有给我错误。也不要忘记在 nuget 包管理器中添加 JQUERY。 -
Action 在 Razor 中调用,它是从 C#(服务器端 DLL)调用的,因此与未加载的 Javascript 无关。我已经尝试过这个,但仍然有同样的错误。 command.Custom("Details").Text("Show Details").**Action**("Details", "Billing");
-
你试过
.Action("Details", "Billing")而不是.Click("Details", "Billing")吗?
标签: razor kendo-ui asp.net-mvc-5 kendo-grid kendo-asp.net-mvc