0
<div id="grid" class="ajaxGrid">
    @{
        var grid = new WebGrid(list, rowsPerPage: 8, canPage: true, canSort: true, ajaxUpdateContainerId: "grid");
    }

    @grid.GetHtml(
        tableStyle: "grid",
        headerStyle: "head",
        alternatingRowStyle: "alt",
        mode: WebGridPagerModes.All,
        numericLinksCount: 10,
        firstText: "First",
        previousText: "Prev",
        nextText: "Next",
        lastText: "Last",
        columns: grid.Columns(
        grid.Column((string)(@<text>@item.Value</text>),format: (item) => Html.ActionLink(((string)item.Text), "Search", "Home", new { id = item.Value }, new { @class = "clickable" }))))
</div>

当我执行程序时,不显示 webgrid 视图。代码中的错误是什么?任何人都可以为我发布答案吗?

4

1 回答 1

0

出色地

System.Web.Helpers.WebGrid.Column

具有以下构造函数

Column(string, string, System.Func<dynamic,object>, string, bool)

所以我看不出你的代码是如何工作的,我的意思是你向构造函数传递了错误的参数。

作为您分配的第一个参数

(string)(@<text>@item.Value</text>)

但它应该是字符串,所以不可能有 lambda 表达式。

这就是代码,对我有用

@grid.GetHtml(
        tableStyle: "grid",
        headerStyle: "head",
        alternatingRowStyle: "alt",
        mode: WebGridPagerModes.All,
        numericLinksCount: 10,
        firstText: "First",
        previousText: "Prev",
        nextText: "Next",
        lastText: "Last",
                columns: grid.Columns(grid.Column(header: "some column header", format: (item) => Html.ActionLink(((string)item.Text), "Index", "Home", new { id = item.Id }, new { @class = "clickable" }))))

因此,只需确保以正确的方式使用 Column 构造函数。

关于主题http://tinyurl.com/9n39mgv的好帖子

于 2012-08-09T08:25:04.707 回答