我在UpdatePanel中有分页。
我有一个下拉列表,用于控制将对哪个字段进行排序。
我已将sort按钮和分页菜单添加为AsyncPostBackTriggers。我的排序按钮工作正常,但我的分页菜单会在每次单击时将排序下拉列表重置为默认值。当我单步执行代码时,我可以看到sort按钮触发(!IsPostBack)部分,并且分页菜单会触发" Else"我的页面部分加载。
所以,我可以点击任何页面,它工作正常。我可以排序,它将返回为该页面排序的正确记录。当我再次单击页码时,排序将返回默认值。我希望允许我的用户排序一次,然后翻阅已排序的数据。
那么,如何在菜单上关闭PostBack?
我的相关代码如下所示:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server" >
<table>
<tr>
<td width="150">
<asp:DropDownList ID="cboSortBy" runat="server" Width="120" ViewStateMode="Enabled">
<asp:ListItem Value="StatusText">Benefit Type</asp:ListItem>
<asp:ListItem Value="PRIORITY_RANK">Priority Rank</asp:ListItem>
<asp:ListItem Value="ACTIVE_FLG">Active Flag</asp:ListItem>
</asp:DropDownList>
</td>
<td width="180"><asp:Button ID="btnSort" runat="server"
Text="Sort" Width="121px" onclick="btnSort_Click" /></td>
</tr>
</table>
<asp:Label ID="Label1" runat="server" Font-Bold="True" />
<br />
<div class="clear" id="NavDiv" style="width:1000px; margin:0 auto; display: table;">
<asp:Menu ID="NavMenu" runat="server" CssClass="navmenu"
IncludeStyleBlock="false" Orientation="Horizontal" width="703px"
BackColor="#CC3300">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="First" Selectable="true" />
</Items>
</asp:Menu>
</div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<table width="570">
<tr>
<td>
<asp:UpdatePanel ID="SearchPanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="NavMenu" />
<asp:AsyncPostBackTrigger ControlID="btnSort" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Repeater ID="BenTypeRepeater" runat="server" onitemcommand="Repeater2_ItemCommand">
<HeaderTemplate>
<table>
<tr bgcolor="#007ACC" style="color:White">
<td></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td colspan = "2"></td>
<tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="5"></td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
答案 0 :(得分:0)
将 AutoPostBack =&#34; true&#34; 添加到下拉菜单
<asp:DropDownList ID="cboSortBy" runat="server" Width="120" ViewStateMode="Enabled" AutoPostBack="true">
<asp:ListItem Value="StatusText">Benefit Type</asp:ListItem>
<asp:ListItem Value="PRIORITY_RANK">Priority Rank</asp:ListItem>
<asp:ListItem Value="ACTIVE_FLG">Active Flag</asp:ListItem>
</asp:DropDownList>