使用System.Web.Helpers.WebGrid

时间:2012-01-24 17:37:07

标签: c# asp.net-mvc-3 view controller webgrid

我正在尝试使用WebGrid在我的模型中显示数据,并且遇到了大量问题。我的模型包含以下内容:

public IEnumerable<Auction> Auctions { get; set; }

我所做的是:

@{
    var grid = new WebGrid(Model.Auctions, rowsPerPage: Model.PagingInfo.ItemsPerPage, defaultSort: "Title", canPage: true, canSort: true)
        {SortDirection = SortDirection.Ascending};
    grid.Pager(WebGridPagerModes.NextPrevious);
}

我想在第一列显示一些文字,具体取决于当前行中的拍卖类型,所以我在模型中编写了一个方法:

public string GetAuctionType(Auction auction)
    {
        var type = string.Empty;
        if (auction is LubAuction)
        {
            type = "Lowest unique wins";
        }
        else if (auction is EsfAuction)
        {
            type = "Highest wins";
        }

        return type;
    }

现在,我的观点还包含:

@grid.GetHtml(
        columns: grid.Columns(
                grid.Column("OwnerReference", header: "Owner reference")

            )
        );

问题是我如何在上面添加grid.Columns行来显示GetAuctionType中的文本?

另外,另一个问题是没有寻呼机出现,排序不起作用。

我将非常感谢你的帮助。

谢谢,

萨钦

1 个答案:

答案 0 :(得分:0)

我会将GetAuctionType逻辑移动到Partial Class,因此您可以像访问集合中每个对象的普通属性一样访问它。您可能还想看一下覆盖WebGrid列格式语法用法的问题ASP.NET MVC3 WebGrid format: parameter

关于您的其他问题,您是否在javascript控制台中看到任何错误?