Kendo Core GridBuilder IHtmlHelper

时间:2019-03-01 09:41:25

标签: kendo-ui extension-methods core

我正在通过Kendo Core Extensions构建一些扩展方法。

一个工作示例-

public static DatePickerBuilder MyDatePicker<T>(this IHtmlHelper<T> helper)
        {
            return helper.Kendo().DatePicker().HtmlAttributes(new { style = "width:100%;" });
        }

实施是

@(Html.MyDatePicker().Name("testDatePicker"))

现在...网格...这是我真正想要定义一堆标准默认值的地方...

 public static GridBuilder<T> MyGridDefault<T>(this IHtmlHelper<T> helper) where T : class
        {
            return                
            helper.Kendo().Grid<T>()
            .Groupable()
            .Pageable()
            .Sortable()
            .Scrollable()
            .Filterable()
            .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)
                ))

这会引发错误-

  

IHtmlHelper(DashboardViewModel)不包含针对   “ MyGridDefault”和最佳扩展方法重载   'MyKendoExtensions.MyGridDefault(IHtmlHelper)'   需要类型为“ IHtmlHelper”的接收器

     

注意:我在IHtmlHelper之后用()代替了<>。我不记得该如何逃避...

DashboardViewModel是键入视图的模型。因此,我想我理解IHtmlHelper,T是视图的模型,还是当视图未键入模型时Core中某种类型的基础?

有趣的是,实现并没有在列绑定中抱怨...所以实现的Grid看到它正在绑定到一个人...但是由于IHtmlHelper错误,我无法编译。我是Core的新手,因此是Kendo的Core ...任何帮助将不胜感激。

0 个答案:

没有答案