2009-12-09 62 views
1

我有一個星級評分的應用程序。 中繼器內的星級評分。如何從中繼器獲得星級評分的價值?

<asp:Repeater ID="reptweet" runat="server" onitemcommand="reptweet_ItemCommand"> 
           <ItemTemplate> 
            <div class="divtweet"> 
             <span class="box_imag"> 
              <asp:Image ID="ScreenImage" runat="server" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"ImageUrl")%>' height="50" width="50" /></span>      
             <span class="box_cont"> 
              <div><strong> <a rel="external" href='http://twitter.com/<%#DataBinder.Eval(Container.DataItem,"ScreenName")%>' target="_blank"> 
               <asp:Label ID="lblScreenName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "ScreenName")%>'></asp:Label></a></strong> 
               <asp:Label ID="lblText" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Text")%>'></asp:Label> 
              </div> 
              <div class="meta"><asp:Label ID="lblDate" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Date")%>'></asp:Label></div> 
             </span> 
                       <asp:UpdatePanel ID="updtpnlTweet" runat="server"> 
               <ContentTemplate> 
                 <cc1:Rating ID="rateTweet" runat="server"    
                  CurrentRating="3" 
                  MaxRating = "5" 
                  StarCssClass="ratingStar" 
                  EmptyStarCssClass="empatyStarRating" 
                  FilledStarCssClass="filledStarRating" 
                  WaitingStarCssClass="savedStarRating" 
                  OnChanged="rateTweet_Changed" 
                  > 
                 </cc1:Rating> 
                </ContentTemplate> 
               </asp:UpdatePanel> 
             <asp:DropDownList ID="DropDownList1" runat="server" Width="100px" CssClass="dropdowntweet" DataSourceID="SqlDataSource1" DataTextField="CategoryName" DataValueField="CategoryId" > 
             </asp:DropDownList> 
            </div> 
           </ItemTemplate> 
          </asp:Repeater> 

通過此代碼,它顯示多行,我想在星級評分的基礎上對此中繼器內容進行排序。

所以我可以根據每行得到星的價值。

或者是否有任何其他方式爲星級評分。

回答

2

如果您正在尋找將重複值設置爲行的設置,則網格視圖控件可能使事情變得更容易。中繼器並非真正爲將日期分解爲邏輯「行」這一概念而設計的,它的確是爲了讓您可以自定義重複數據的格式。嘗試遍歷一個轉發器是一個相當痛苦的脖子。

隨着通過你的行迭代網格視圖很簡單,只要:

foreach (GridViewRow ratingRow in RatingGrid.Rows) 
    { 
     Rating ratingControl; 
     int rating; 

     ratingControl = (Rating)(ratingRow.FindControl("rateTweet")); 
     rating = ratingControl.CurrentRating; 
    } 

好網格視圖例子here

+0

@pankaj u能PLZ告訴我,你做了什麼來獲取當前的評級從數據庫,您用來存儲收視率的數據類型是什麼?我使用CurrentRating ='<%#DataBinder.Eval(容器,「DataItem.ratings」)%>'但它引發了一個錯誤:InvalidCastException – Coder 2012-07-08 06:13:36