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)
))