我有一个内置LinkButton的转发器。单击会引发一个事件,该事件将转发器ID作为CommandArgument传递,并在GridView中显示有关该ID的详细信息。如何避免单击导致页面重新加载Repeater?
我将Repeater包装在UpdatePanel中,结果恰恰相反:GridView未加载,而转发器则是。
<asp:UpdatePanel ID="UP1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical" Height="600px">
<asp:Repeater runat="server" id="RepeaterKalendar">
<ItemTemplate>
<asp:label ID="Month_lbl" runat="server" Text='<%# Bind("Month") %>'/>
<asp:label ID="Pretag_lbl" runat="server" Text='<%# Bind("PRETAG") %>'/>
<asp:LinkButton ID="ButtonSelect" runat="server" CommandArgument = '<%# Eval("date") %>' Text='<%# Bind("TAG") %>' OnClick="GetDetails"/>
<asp:label ID="Posttag_lbl" runat="server" Text='<%# Bind("POSTTAG") %>'/>
<asp:label ID="Monthend_lbl" runat="server" Text='<%# Bind("MonthEnd") %>'/>
</ItemTemplate>
</asp:Repeater>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ButtonSelect" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
我已经添加了Panel标签 - 我最初跳过它,认为它会分散注意力 - 因为我发现Repeater实际上没有重新加载。在LinkButton Click之后,看起来面板内的滚动位置会丢失,因为它会跳转到它的起始位置。我将此行为解释为Repeater反弹的结果。
对面板内滚动位置丢失的任何评论?