gpt4 book ai didi

asp.net - 下拉列表 selectedindex 在页面刷新时不起作用

转载 作者:行者123 更新时间:2023-12-04 20:49:37 24 4
gpt4 key购买 nike

我有一个非常正常的 ASP.NET 下拉列表的问题。
我在页面中有一个下拉列表 AutoPostback=false .
以及生成下拉列表内容的代码:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.dropDownList.Items.Add(new ListItem("text1", "value1"));
this.dropDownList.Items.Add(new ListItem("text2", "value2"));
this.dropDownList.SelectedIndex = 0;
}
}
  • 运行页面,然后选择第二个选项:text2。
  • 之后,按F5,这将进行页面加载(注意我还没有做任何回发,只需更改Dropdownlist的选定项并按F5)

  • 我希望下拉列表现在会选择默认项目 index = 0 ,但选中的项目仍然是项目“text2”——我选择的项目。在这种情况下, this.dropDownList.SelectedIndex = 0;不起作用。

    我完全不明白。有人可以帮助我吗?

    更新:此行为仅在 Firefox 中发生,在 Chrome/IE 中不会发生。

    最佳答案

    您似乎误解了回发的含义;这并不意味着只是页面刷新。当你在浏览器中按 F5 时,原始请求将被发送到服务器,并且 Page.IsPostBack会是假的。

    如果您想进行实际回发,请添加 asp:Button服务器控件到页面并单击它(或者只是在 DropDownList 上设置 AutoPostBack=true)。

    Firefox 似乎正在执行某种客户端缓存,因此当您按 F5 时,它不会再次往返服务器。您可以通过重置 select 来解决此问题。页面加载时的元素。

    <script type='text/javascript'>
    document.getElementById('<%= dropDownList.ClientID %>').selectedIndex = 0;
    </script>

    (注意:将其放在页面底部,以便在文档加载后执行。)

    关于asp.net - 下拉列表 selectedindex 在页面刷新时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311520/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com