首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DropDownList所选索引更改

问DropDownList所选索引更改
EN

Stack Overflow用户
提问于 2013-08-03 15:53:17
回答 1查看 37.5K关注 0票数 2

我在Updatepanel中使用DropDownList,它的autopost back属性设置为true,它工作得很好,除非它有SelectedValue=0(即SelectedIndex=0)

这是我的下拉列表

代码语言:javascript
复制
<asp:UpdatePanel ID="panel" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="ddFilter" EnableViewState="false" runat="server" Style="width: 168px;
            border: none;" OnSelectedIndexChanged="ddComapanyFilter_SelectedIndexChanged"
            AutoPostBack="true">
            <asp:ListItem Text="All" Value="0"></asp:ListItem>
            <asp:ListItem Text="Flagged" Value="1"></asp:ListItem>
            <asp:ListItem Text="New" Value="2"></asp:ListItem>
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>

这是我的SelectedIndexChangedEvent

代码语言:javascript
复制
protected void ddComapanyFilter_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ddComapanyFilter.SelectedValue == "0")//All
    {
       //code
    }
    else if (ddComapanyFilter.SelectedValue == "1")//Flagged
    {
       //code
    }
    else if (ddComapanyFilter.SelectedValue == "2")//New
    {
       //code
    }          
}

当我选择“新建”或“标记”时,它工作得很好,但当我再次选择“全部”时,它不会做任何事情,我已经尝试过调试它,以防所有的它都没有命中代码。

我尝试用下面的代码替换我的下拉代码

代码语言:javascript
复制
<asp:DropDownList ID="ddFilter" EnableViewState="false" runat="server" Style="width: 168px;
                                border: none;" OnSelectedIndexChanged="ddComapanyFilter_SelectedIndexChanged"
                                AutoPostBack="true">
                                <asp:ListItem Text="All" Value="1"></asp:ListItem>
                                <asp:ListItem Text="Flagged" Value="2" Selected="True"></asp:ListItem>
                                <asp:ListItem Text="New" Value="3"></asp:ListItem>
                            </asp:DropDownList>

现在,当我选择已标记,然后选择新建或全部,它不会命中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-03 18:59:02

这是dropdownlist中的一个已知问题,总是第一个列表项不会触发,这就是为什么您可以在开头添加一个虚拟列表项,如"Select..“或者你想让它工作的任何东西

代码语言:javascript
复制
<asp:UpdatePanel ID="panel" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="ddFilter" EnableViewState="false" runat="server" Style="width: 168px;
            border: none;" OnSelectedIndexChanged="ddComapanyFilter_SelectedIndexChanged"
            AutoPostBack="true">
            <asp:ListItem Text="whatever" value=""></asp:ListItem>
            <asp:ListItem Text="All" Value="0"></asp:ListItem>
            <asp:ListItem Text="Flagged" Value="1"></asp:ListItem>
            <asp:ListItem Text="New" Value="2"></asp:ListItem>
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18030618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档