C# 实现使用linq创建网格的助手函数

C# 实现使用linq创建网格的助手函数,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,首先,我是linq的新手,我有点了解语法,但是有一些片段缺失,我不知道如何搜索这些片段,因为我不知道术语,所以我求助于亲自询问。(所以请你对我放轻松,林克让我转过身来) 我想通过创建一些东西来学习,所以我认为生成一个表的HTML助手会很有趣 我在看其他的例子,我想实现类似的东西,我的问题是,Columns函数的参数是什么?我也不太清楚columns.Bound是如何分配给columns的,也许columns包含一个“绑定”对象列表 Html.Kendo().Grid() .名称(“网格”) .列

首先,我是linq的新手,我有点了解语法,但是有一些片段缺失,我不知道如何搜索这些片段,因为我不知道术语,所以我求助于亲自询问。(所以请你对我放轻松,林克让我转过身来)

我想通过创建一些东西来学习,所以我认为生成一个表的HTML助手会很有趣

我在看其他的例子,我想实现类似的东西,我的问题是,Columns函数的参数是什么?我也不太清楚columns.Bound是如何分配给columns的,也许columns包含一个“绑定”对象列表

Html.Kendo().Grid()
.名称(“网格”)
.列(列=>
{
columns.Bound(c=>c.ContactName).Width(140);
columns.Bound(c=>c.ContactTitle).Width(190);
columns.Bound(c=>c.CompanyName);
columns.Bound(c=>c.Country).Width(110);
})
.HtmlAttributes(新的{style=“height:380px;”})
.Scrollable()
.Groupable()
.Sortable()
.Pageable(Pageable=>Pageable
.刷新(真)
.页面大小(真)
.按钮计数(5))
.DataSource(DataSource=>DataSource
.Ajax()
.Read(Read=>Read.Action(“客户读取”、“网格”))
)
我似乎找不到一个好的例子来解释这样的场景。我觉得一旦解释了一个,其余的都会明白的

我的最后一个问题是,对于绑定的信息,当它希望以后显示信息时,它如何使用它?我得到了绑定的概念,只是没有特别使用linq

有人能给我一个简单的助手对象的例子,它将获取列及其绑定值的列表,并将它们打印到表中吗?它不需要编译甚至工作,只是为了让我有个想法


谢谢你的时间

您的Visual Studio intellisense将告诉您参数类型。我没有提供的代码,但我目前正在使用其他代码查看它,我想我还没有完全了解它。我真的不知道{function;function;function;}生成了什么,一个列表?我认为这些代码展示了如何使用剑道UI创建网格。因此,您需要查找有关KendoUI而不是linq的文档。它正在使用,因此语法类似于linq中的lambda表达式。我了解函数的工作原理,返回一个相同类型的类以允许链接,以及lambda表达式是什么(至少是它的简单定义),我只是在理解它是如何结合在一起时有点困难,例如为什么要使用linq?这仅仅是速记吗?谢谢另外,这个链接给了我一个括号“Statement Lambdas”中语句的名称,我以前似乎忽略了它,再次感谢。
Html.Kendo().Grid<Kendo.Mvc.Examples.Models.CustomerViewModel>()
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(c => c.ContactName).Width(140);
            columns.Bound(c => c.ContactTitle).Width(190);
            columns.Bound(c => c.CompanyName);
            columns.Bound(c => c.Country).Width(110);
        })
        .HtmlAttributes(new { style = "height: 380px;" })
        .Scrollable()
        .Groupable()
        .Sortable()
        .Pageable(pageable => pageable
            .Refresh(true)
            .PageSizes(true)
            .ButtonCount(5))
        .DataSource(dataSource => dataSource
            .Ajax()
            .Read(read => read.Action("Customers_Read", "Grid"))
        )