2012-07-24 49 views
0

這裏是我的代碼無法計算未實施ICollection的數據源的計數。

var q = from a in bh 
       join b in hr on a.HotelCode equals b.hotelCode 
       select new 
     { 
      a.HotelCode, 
      a.ImageURL_Text, 
      a.HotelName, 
      a.StarRating,  
      a.HotelAddress, 
      a.Destination, 
      a.Country, 
      a.HotelInfo, 
      a.Latitude, 
      a.Longitude, 
      b.totalPrice, 
      b.totalPriceSpecified, 
      b.totalSalePrice, 
      b.totalSalePriceSpecified, 
      b.rooms 

    }; 

     //rptHotels.DataSource = getres.availableHotels; 

     PagedDataSource objPds = new PagedDataSource(); 
     objPds.DataSource = q; 
     objPds.AllowPaging = true; 
     objPds.PageSize = 10;// Convert.ToInt32(ddlPageNo.SelectedValue); 

     objPds.CurrentPageIndex = CurrentPage; 

     lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " 
      + objPds.PageCount.ToString(); 

     // Disable Prev or Next buttons if necessary 
     cmdPrev.Enabled = !objPds.IsFirstPage; 
     cmdNext.Enabled = !objPds.IsLastPage; 

     rptHotels.DataSource = objPds; 
     rptHotels.DataBind(); 

錯誤有自我解釋,但沒有得到解決這個錯誤的方式......

回答

4

使用ToArray的():

objPds.DataSource = q.ToArray(); 
+0

@korach感謝,它對我的​​作品 – rahularyansharma 2012-07-25 13:24:04

+0

任何想法根據hotelName排序這個數組,星級評分? – rahularyansharma 2012-07-27 14:16:20

+0

在「選擇新的」之前添加「由a.HotelName,a.StarRating訂購」 – 2012-07-29 09:29:13