Kendo ui 剑道核心网格生成器IHtmlHelper

Kendo ui 剑道核心网格生成器IHtmlHelper,kendo-ui,extension-methods,core,Kendo Ui,Extension Methods,Core,我正在玩在剑道核心扩展之上构建一些扩展方法 一个有效的例子- public static DatePickerBuilder MyDatePicker<T>(this IHtmlHelper<T> helper) { return helper.Kendo().DatePicker().HtmlAttributes(new { style = "width:100%;" }); } 现在。。。网

我正在玩在剑道核心扩展之上构建一些扩展方法

一个有效的例子-

public static DatePickerBuilder MyDatePicker<T>(this IHtmlHelper<T> helper)
        {
            return helper.Kendo().DatePicker().HtmlAttributes(new { style = "width:100%;" });
        }
现在。。。网格。。。这就是我想要定义一系列标准默认值的地方

 public static GridBuilder<T> MyGridDefault<T>(this IHtmlHelper<T> helper) where T : class
        {
            return                
            helper.Kendo().Grid<T>()
            .Groupable()
            .Pageable()
            .Sortable()
            .Scrollable()
            .Filterable()
            .Pageable();
        }
publicstaticgridbuildermygriddefault(这个IHtmlHelper助手),其中T:class
{
返回
helper.Kendo().Grid()
.Groupable()
.Pageable()
.Sortable()
.Scrollable()
.可过滤()
.Pageable();
}
实施-

 @(Html.MyGridDefault<Person>()
                .Name("TestGrid1")
                .Columns(columns =>
                {
                  columns.Bound(c => c.LastName);
                  columns.Bound(c => c.FirstName);
                })
                .BindTo(people)
                .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(20)
                .ServerOperation(false)
                ))
@(Html.MyGridDefault()
.Name(“TestGrid1”)
.列(列=>
{
columns.Bound(c=>c.LastName);
columns.Bound(c=>c.FirstName);
})
.BindTo(人)
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(20)
.ServerOperation(错误)
))
这会抛出一个错误-

IHtmlHelper(仪表板视图模型)不包含的定义 “MyGridDefault”和最佳扩展方法重载 'MyKendoExtensions.MyGridDefault(IHtmlHelper)' 需要“IHtmlHelper”类型的接收器

注:我将()替换为IHtmlHelper之后的内容。我不记得该怎么逃过这个

DashboardViewModel是将视图键入到的模型。所以,我想我理解了IHtmlHelper,T要么是视图的模型,要么是核心中的某种类型的基,当它们的视图没有被类型化为模型时


有趣的是实现并没有在列绑定中抱怨。。。所以实现的网格看到它绑定到一个人。。。但由于IHtmlHelper错误,我无法编译。我是新的核心,因此剑道的核心。。。任何帮助都将不胜感激。

尝试非通用版本:
(此HtmlHelper helper)
嗨,史蒂夫,谢谢你的建议。。。我最初确实试过。。。它产生了同样的问题。建议尝试
MyGridDefault(此GridBuilder帮助程序)
谢谢您的跟进。您的建议产生了相同的错误,刚才用“必需的接收器类型的GridBuilder…仍然没有进展…我认为这在.NET CoreTry中不起作用尝试非通用版本:
(此HtmlHelper帮助程序)
Hi Steve,感谢你的建议…我最初确实尝试过…它产生了相同的问题。建议尝试
MyGridDefault(此GridBuilder帮助程序)
感谢Steve的跟进。你的建议产生了相同的错误,刚才用“需要一个GridBuilder的接收器类型…”替换。。。仍然没有进展,我认为这在.NETCore中不起作用
 @(Html.MyGridDefault<Person>()
                .Name("TestGrid1")
                .Columns(columns =>
                {
                  columns.Bound(c => c.LastName);
                  columns.Bound(c => c.FirstName);
                })
                .BindTo(people)
                .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(20)
                .ServerOperation(false)
                ))