我正在尝试使用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中的文本?
另外,另一个问题是没有寻呼机出现,排序不起作用。
我将非常感谢你的帮助。
谢谢,
萨钦
答案 0 :(得分:0)
我会将GetAuctionType逻辑移动到Partial Class,因此您可以像访问集合中每个对象的普通属性一样访问它。您可能还想看一下覆盖WebGrid列格式语法用法的问题ASP.NET MVC3 WebGrid format: parameter。
关于您的其他问题,您是否在javascript控制台中看到任何错误?