无法从代码后面访问Ajax评级

时间:2014-02-16 10:08:21

标签: asp.net vb.net webforms ajaxcontroltoolkit

我有这个HTML标记:

 <div id="profil_rating_container">
    <div id="profil_rating">
        <div id="pr">
            <h2 id="rating" class="profil_rating_title">Hodnocení&nbsp;<asp:Label ID="lblAddRating" runat="server"><span><a href="#add_rating" title="Přidat hodnocení"><i class="fa fa-plus-circle"></i></a></span></asp:Label></h2>           
            <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager>
            <ajaxToolkit:Rating ID="FinalRating" runat="server" MaxRating="5" ReadOnly="true" StarCssClass="ratingStar" WaitingStarCssClass="savedRatingStar" FilledStarCssClass="mainFilledRatingStar"  EmptyStarCssClass="mainEmptyRatingStar" />  
            <br />
            <asp:SqlDataSource ID="RatinSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:SportovniPlanetaCS %>" 
                SelectCommand="SELECT [RatingText], [RatingCount], [Name] FROM [rating] WHERE ([ProfileId] = @ProfileId) AND ([RatingText] IS NOT NULL)">
                <SelectParameters>
                    <asp:QueryStringParameter Name="ProfileId" QueryStringField="id" Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>

            <asp:Repeater ID="RatingRepeater" DataSourceID="RatinSqlDataSource" runat="server" OnItemDataBound="RatingRepeater_ItemDataBound">
                <ItemTemplate>
                    <h4><a href="#"><asp:Literal ID="RatingName" runat="server" Text='<%# Eval("Name") %>' /></a></h4>
                    <p class="p_rating"><asp:Literal ID="RatingText" runat="server" Text='<%# Eval("RatingText") %>'></asp:Literal></p>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:Label ID="lblRating" runat="server" Text="Uživatel zatím nemá žádné hodnocení." Visible="false"></asp:Label>
                </FooterTemplate>
            </asp:Repeater>
        </div>

    </div>
</div>    

当我从后面的代码中访问Ajax Control Toolkit评级时,FinalRating.CurrentRating = cmdRating.ExecuteScalar它使用错误文本强调FinalRating'Final Rating'未声明。由于其保护级别,它可能无法访问。

我不知道为什么会这样。我在其他5个页面中有相同的代码,它工作正常,但在这一页中它不是。此外,当我添加新页面并添加Ajax评级时,我无法从后面的代码访问它。评级控件不在任何数据组件中,如转发器或数据列表。这可以通过FindControl来解决吗?如果是的话,究竟是怎么回事?

有谁知道,是什么导致了这个问题?谢谢你的回答。

0 个答案:

没有答案