【发布时间】:2011-04-05 17:13:22
【问题描述】:
我有一个UpdatePanel 和其中的一些控件,如下所示。如果我更改 txtGoToPage 文本框中的数字并按 Enter,则会调用 GoToPage_TextChanged() 事件处理程序。但是如果我先输入除 1 以外的任何页码,请按 Enter,然后再次输入数字 1,按 Enter 后不会调用 GoToPage_TextChanged()。 ddlPageSize 下拉列表也存在同样的问题。如您所见,默认情况下选择第三项。如果我选择另一个项目,则调用ddlPageSize_SelectedIndexChanged(),但如果之后我选择第三个(最初选择的)项目,则不会调用ddlPageSize_SelectedIndexChanged()。
你能帮我解决这个问题吗?
谢谢。
<asp:UpdatePanel ID="upnlLicensing" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
...
<asp:Label ID="Label1" runat="server" Text="Show rows:" />
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<asp:ListItem Value="20" />
<asp:ListItem Value="50" />
<asp:ListItem Value="100" Selected="True" />
</asp:DropDownList>
Page
<asp:TextBox ID="txtGoToPage" runat="server" AutoPostBack="true"
OnTextChanged="GoToPage_TextChanged" CssClass="gotopage" onchange="JSSetSessionValue('ReloadLicensing', true);JSSetSessionValue('NewPageNumber', this.value)" />
of
<asp:Label ID="lblTotalNumberOfPages" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
【问题讨论】:
-
如果是更新面板,请尝试 1:设置 UpdateMode="Always" 或 2:删除 UpdatePanel 本身,如果您的代码不在 UP 中,则查看它是否有效。
-
我知道它可以在没有 UpdatePanel 的情况下工作。
标签: asp.net asp.net-ajax updatepanel