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>

プログラムを実行すると、Webグリッドビューが表示されません。コードのエラーは何ですか?誰かが私のために答えを投稿できますか?

4

1 に答える 1

0

上手

System.Web.Helpers.WebGrid.Column

次のコンストラクタがあります

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

したがって、コードがどのように機能するかわかりません。つまり、コンストラクターに間違った引数を渡しているということです。

最初の引数として、

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

ただし、文字列である必要があるため、ラムダ式は使用できません。

それは私のために働くコードです

@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 に答える