2012-01-24 41 views
0

我試圖使用WebGrid來顯示我的模型中的數據,並有大量的問題。我的模型包含了除其他事項外本:使用System.Web.Helpers.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

我會GetAuctionType邏輯移動到分部類,所以你可以像你的收藏中的每個對象在一個普通的屬性來訪問它。您可能還想看看涵蓋WebGrid列格式語法用法的問題ASP.NET MVC3 WebGrid format: parameter

關於你的其他問題,你看到在JavaScript控制檯中的任何錯誤?