如何在MVC项目中向使用Razor编码的页面添加Telerik网格?

时间:2015-04-10 15:07:44

标签: asp.net-mvc razor telerik telerik-grid telerik-mvc

我在asp.net项目中使用过Telerik RadGrid,但是我无法在MVC / Razor中使用它。通过一些反复试验,我设法得到了部分网格显示,但它没有数据。我通常在C#代码中绑定服务器端的网格,但由于MVC / Razor没有代码,我不知道该怎么做。如何让它显示模型中的数据?

我开始遵循这里的说明: http://www.telerik.com/help/aspnet-mvc/using-with-the-razor-view-engine.html

    @Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(o => o.Id).Width(100);
        columns.Bound(o => o.ApplicantFirstName).Width(200);
        })
        .Render();
    }

但是,我收到了错误

  

最佳重载方法匹配' Telerik.Web.Mvc.UI.ViewComponentFactory.Grid(System.Data.DataView)'有一些无效的参数c:\ inetpub \ wwwroot \ CarmelFinancialWeb \ Views \ CreateContract \ CreateContract.cshtml 644 14 CarmelFinancialWeb

然后我找到了这个页面: http://markfreedman.com/index.php/2011/08/09/wrestling-with-the-telerik-mvc-grid-control-part-1/

使用那里的代码,我能够弄清楚我需要使用我的模型的全名:

    @{Html.Telerik().Grid<CarmelFinancialWeb.Models.ModelApplication>()
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(o => o.Id).Width(100);
        columns.Bound(o => o.ApplicantFirstName).Width(200);
        })
        .Render();
    }

这已编译,但我没有获取数据。我得到了两个标题,没有网格线,还有一条消息说没有结果。

  

Id申请人名字

     

无记录显示

我尝试的其他一些网站提供了一些示例,但没有一个帮我显示结果: Problem rendering Telerik MVC Grid in a Razor view Problems with rendering a templated asp.net mvc telerik grid

我还缺少什么?如何在网格中获取数据?

1 个答案:

答案 0 :(得分:0)

您必须将模型(数据源)绑定到网格以显示其数据:

@{Html.Telerik().Grid<CarmelFinancialWeb.Models.ModelApplication>(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(o => o.Id).Width(100);
        columns.Bound(o => o.ApplicantFirstName).Width(200);
        })
        .Render();
    }

假设您的模型为IEnumerable<CarmelFinancialWeb.Models.ModelApplication>