У меня есть страница со списком, которая показывает что-то вроде сообщений.На каждом посте должен быть «ящик с оценками», который работает аналогично кнопке «Нравится» в Facebook.Поле оценки - это пользовательский элемент управления, внутри которого есть панель обновления.
Если я поместил элемент управления с некоторыми случайными значениями на странице, он прекрасно работает - но когда я помещаю его в ListView, где он долженнаходиться, это не сработает.Вызывается метод, но ничего не происходит.
Я немного упростил код, чтобы его было легче понять:
Элемент управления "Rate Box":
protected void OnRateClick(object sender, ImageClickEventArgs e)
{
Rate++;
RateAmountLiteral.Text = Rate.ToString();
RateButton.Visible = false;
FeedbackLiteral.Visible = true;
rateButtonPanel.Update();
}
ascx:
<div class="rate_div">
<asp:UpdatePanel ID="rateButtonPanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<fieldset>
Rate:
<asp:Literal ID="RateAmountLiteral" runat="server"></asp:Literal>
<asp:ImageButton ID="RateButton" runat="server" ImageUrl="icn_rate.png"
OnClick="OnRateClick" />
<asp:Literal ID="FeedbackLiteral" runat="server" Visible="false">Thanks for rating!</asp:Literal>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
</div>
aspx (с использованием элемента управления):
<asp:ListView ID="PostsView" runat="server" ItemPlaceholderID="itemPlaceHolder2"
<LayoutTemplate>
<div class="posts_div">
<asp:PlaceHolder ID="itemPlaceHolder2" runat="server" />
</div>
</LayoutTemplate>
<ItemTemplate>
<div class="post_div">
<div class="post_body">
<%# CurrentPost.Body %>
</div>
<UC:RatingBox id="RatingBox" runat="server"
PostID="<%# CurrentPost.ID %>"
Rate="<%# CurrentPost.Rate %>"/>
By: <a href="<%# CurrentPost.Author.LinkToProfile %>">
<%# CurrentPost.Author.DisplayName %>
</a> |
<%# CurrentPost.LiteralTime %>
</div>
</ItemTemplate>
</asp:ListView>
Во время отладки я заметил, что элементы управления в методе "OnRateClick" пусты и не содержат правильных значений,Пожалуйста посоветуй.
Также, если у вас есть какие-либо комментарии о том, как я поступил, не сдерживайтесь.
Спасибо