我正在通过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 ...任何帮助将不胜感激。