【发布时间】:2019-01-31 22:23:38
【问题描述】:
我正在使用下拉按钮,并将 AutoPostBack 设置为 true。我正在尝试将 DropDown 重置为页面回发上的默认选择——DropDown.SelectedIndex = 0;。 DropDown 确实重置为默认选择,但我无法进行选择,因为它在选择另一个选项后立即连续恢复到默认位置“进行选择”。我不确定它是否重要,但这被放置在更新面板中。
我需要将其设置回 0 的原因之一是,当我单击浏览器上的后退按钮时,会选择最后一个选择,如果用户尝试返回相同的选择,则除非我刷新页面,否则 DropDown 不起作用。例如。选择 1 将我重定向到第 2 页。如果我点击返回,Choice 1 仍然被选中。如果我单击下拉菜单再次选择选项 1,除非我刷新页面,否则不会发生任何事情。这是我的下拉 HTML:
<asp:DropDownList ID="DropDown" runat="server" EnableViewState="true"
AppendDataBoundItems="true" AutoPostBack="true"
OnSelectedIndexChanged="DropDown_SelectedIndexChanged">
<asp:ListItem>Make a Selection</asp:ListItem>
<asp:ListItem>Choice 1</asp:ListItem>
<asp:ListItem>Choice 2</asp:ListItem>
</asp:DropDownList>
和 C#:
if (IsPostBack)
{
DropDown.SelectedIndex = 0;
}
【问题讨论】:
-
if(IsPostBack) 是多余的,因为 page_load 会自动调用