【问题标题】:Selected Index doesn't change选定索引不变
【发布时间】:2013-11-12 21:11:29
【问题描述】:

我有一个带有 onSelectedIndexChanged 事件的 ASP.NET DropDownList 控件。我也有许多人说可以解决问题的 AutoPostBack="true"。但是我不认为这就是问题所在……我的 Html 代码和 C# 代码在下面供参考。问题是代码有效,但只有当我在编辑下拉框时按下回车键时。如果我只是单击下拉列表中的对象,则不会触发该事件。如果我更改所选项目,因此下拉菜单中的“所选”文本显示为“ASP”,然后我使用浏览器检查该元素,我看到 ListItem 的 Selected="True" 部分仍在第一个项目上。 . 它在那里没有改变。它用回车键改变,但不是用鼠标点击。欢迎提供任何帮助并非常感谢。

HTML:

<div class="ui-widget">
    <asp:DropDownList id="Select1" OnSelectedIndexChanged="Select1_SomethingChange" runat="server" AutoPostBack="true">
        <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
        <asp:ListItem Value="Select one...">Select one...</asp:ListItem>
        <asp:ListItem Value="ActionScript">ActionScript</asp:ListItem>
        <asp:ListItem Value="AppleScript">AppleScript</asp:ListItem>
        <asp:ListItem Value="Asp">Asp</asp:ListItem>
        <asp:ListItem Value="BASIC">BASIC</asp:ListItem>
    </asp:DropDownList>
</div>

C#:

protected void Select1_SomethingChange(object sender, EventArgs e)
{
    //something is meant to happen here
}

【问题讨论】:

  • 将 autopostback="true" 更改为 AutoPostBack="true"
  • 我在问题中输入它,它在代码中...我没有从代码中复制
  • 我编辑了这个问题,现在应该是...抱歉造成混淆

标签: c# html select


【解决方案1】:

这可能是由于在 Page_Load 方法中绑定了您的下拉列表造成的。 请用

包围它(数据绑定)
if(!IsPostBack){
// data binding.
}

希望,它有帮助!

【讨论】:

  • @Egor..是的..这是唯一可能缺少的东西..Kaster值得一试!
  • 我没有从任何地方绑定任何数据,page_Load 方法尽可能为空......我发布的代码就是那里的代码,没有其他内容。我也确实考虑过,当您单击时该列表甚至可能不存在,但我检查了那不是原因,如果是,那么输入键也不起作用
  • 这样我可以建议将DropDownList复制到新的asp.net页面并在那里测试。您帖子中的代码对我有用,因此我认为与 DropDownList 控件无关的内容可能会导致此问题。
【解决方案2】:
AutoPostBack="true"

也许你错过了这个选项...

【讨论】:

  • 感谢您的回答,您会发现asp:DropDownList 不会触发 SelectIndexChanged,因为它默认不会回发更改。你的回答解决了我的问题。
【解决方案3】:

您的代码运行良好,代码中可能有一些内容会更改实现。我已经调试了您的代码,它在输出窗口中显示了选定的项目。请验证是否有一些 javascript 代码导致调用下拉 selectedIndexChanged 事件的问题。

  protected void Select1_SomethingChange(object sender, EventArgs e)
    {
        DropDownList ddl = (DropDownList)sender;
        Debug.WriteLine(ddl.SelectedItem.Text);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多