Ich habe eine Seite mit einer Listenansicht, die etwas wie Posts zeigt. Auf jedem Beitrag sollte eine "Preisbox" stehen, die ähnlich funktioniert wie der "Gefällt mir" Button in Facebook. Das Tariffeld ist ein Benutzersteuerelement, in dem sich ein Aktualisierungsfenster befindet.Wie mache ich UpdatePanel in ListView arbeiten?
Wenn ich das Steuerelement mit einigen zufälligen Werten auf der Seite platziert, funktioniert es großartig - aber wenn ich es in die ListView, wo es sich befinden sollte, wird es nicht funktionieren. Die Methode wird aufgerufen, aber nichts passiert.
vereinfacht ich den Code ein bisschen leichter zu machen, zu verstehen:
Die "Rate Box" control:
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 (mit der Kontrolle) :
<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>
Beim Debuggen ist mir aufgefallen, dass die Steuerelemente in der Methode "OnRateClick" leer sind und nicht die richtigen Werte enthalten. Bitte um Rat.
Auch wenn Sie irgendwelche Kommentare über die Art, wie ich Dinge getan habe, halten Sie sich nicht.
Dank