如何从中继器获得星级评定的价值?

时间:2009-12-09 14:08:53

标签: asp.net

我有一个星级评定的应用程序。 转发器内的星级评定。

<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>

通过此代码,它显示多行,我希望根据星级评分对此转发器内容进行排序。

所以我可以按行获得星值。

或者还有其他星级评定方式。

1 个答案:

答案 0 :(得分:2)

如果您正在寻找分解为行的重复值的设置,则网格视图控件可能会使事情变得更加容易。转发器并非真正设计用于将日期分解为逻辑“行”的概念,它实际上是为了您可以自定义重复数据的格式。试图迭代转发器是一件非常痛苦的事情。

使用网格视图迭代您的行非常简单:

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

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

良好的网格视图示例here