OnChanged甚至不会在数据列表中触发(AJAX raiting控制)

时间:2018-05-17 17:34:11

标签: c# asp.net ajax asp.net-ajax

我正在使用最新的ajax工具包版本。我试图将评级控件放在一个datalist中,但OnChanged事件由于某种原因没有触发。 这是正常的ASPX.NET页面:

 <asp:DataList ID="DataListEpisodes" runat="server" Style="position: relative; bottom: 330px;" Visible="False" RepeatColumns="1" OnItemDataBound="DataListEpisodes_ItemDataBound" DataKeyField="EpisodeID" OnItemCommand="DataListEpisodes_ItemCommand">
    <ItemTemplate>
        <table>
            <tr>
                <td>
                    <td>
                        <asp:Image ID="ImageEpisodeImage" class="EpisodeImage" runat="server" ImageUrl='<%# Eval("EpisodeImage", "https://image.tmdb.org/t/p/original{0}") %>' />
                    </td>
                </td>
                <td>
                    <asp:Label ID="LabelEpisodeNumber" runat="server" Style="font-family: Gotham Ultra; font-size: 25px; font-weight: bold;"
                        Text='<%# Eval("SeasonNumber", "Season {0}") + ", " + Eval ("EpisodeNumber", "Episode {0}") %>'></asp:Label>
                    <br />
                    <asp:Label ID="LabelEpisodeName" Style="font-family: Proxima Nova Semibold; font-size: 20px; font-weight: bold;" runat="server" Text='<%# Bind("EpisodeName") %>'></asp:Label>
                    <br />
                    <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" class="LabelOverview" Text='<%# Bind("EpisodeOverview") %>' TextMode="MultiLine"></asp:TextBox>
                    <br />
                    <asp:Button ID="ButtonAddEpisode" class="ButtonAddEpisode" runat="server" Text="Add Episode To Watch History" CommandName="AddEpisode" />
                    <asp:Button ID="ButtonRemoveEpisode" class="ButtonAddEpisode" runat="server" Text="Remove Episode From Watch History" CommandName="RemoveEpisode" />
                    <br />
                    <asp:Button ID="ButtonWatchListAdd" class="ButtonEpisodeWatchList" runat="server" Text="Add Episode To Future Watch List" CommandName="AddWatchList" />

                    **<asp:UpdatePanel ID="UpdatePanel1" runat="server">
                        <ContentTemplate>
                            <ajaxToolkit:Rating ID="Rating1" OnChanged="OnRatingChanged" style="position: relative;right: 301px;top: 16px;" AutoPostBack="true" runat="server"
                                StarCssClass="Star" EmptyStarCssClass="Star"
                                FilledStarCssClass="FilledStar" WaitingStarCssClass="Star">
                            </ajaxToolkit:Rating>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="Rating1" EventName="Click" />
                        </Triggers>
                    </asp:UpdatePanel>**
            </tr>
        </table>
        <br />
        <br />
        <br />
        <br />
    </ItemTemplate>
</asp:DataList>

这就是代码隐藏:

    protected void OnRatingChanged(object sender, AjaxControlToolkit.RatingEventArgs e)
{
    int rowIndex = ((sender as AjaxControlToolkit.Rating).NamingContainer as DataListItem).ItemIndex;

    int RatingChosed = Rating1.CurrentRating;
    int EpisodeID = Convert.ToInt32(DataListEpisodes.DataKeys[rowIndex].ToString()); 

}

感谢有人可以帮助我:D

0 个答案:

没有答案