我是Generics的新手,我无法弄清楚为什么以下不起作用.
我有一个扩展名IEnumerable<T>,称为Grid,它看起来像这样
public static class IEnumberableGridExtension
{
public static HelperResult Grid<T>(this IEnumerable<T> gridItems, Action<GridView<T>> thegrid)
{
........
}
}
Run Code Online (Sandbox Code Playgroud)
说,我的剃刀模型中有一个名为"Products"的变量,它是类型List<Product>,所以我试着这样做
@Model.Products.Grid<Product>(grid=>{
...
});
Run Code Online (Sandbox Code Playgroud)
它声明"无法将方法组'Grid'转换为非委托类型'对象'.你打算调用这个方法吗?",用"@ Model.tasks.Grid"红色加下划线.
有趣的是,视觉工作室编译,一切都很好.当然,如果我只是这样做
@Model.Products.Grid(grid=>{
...
});
Run Code Online (Sandbox Code Playgroud)
一切都很好.
Razor解析器将<和>解释为普通的HTML标记.您可以避免在括号中包含调用的问题:
@(Model.Products.Grid<Product>(grid=>{
...
}))
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到其他信息:如何在Razor视图文件中使用通用语法?
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |