日期:2014-05-18  浏览次数:20360 次

dropdownlist 同值刷新问题
今天遇到一个问题:如果dropdownlist里面有两个一样的值,为什么不能刷新呢?

例如: dropdownlist的值的为:A,B,C,C,D;autopost=true
  当每选择一个值时,程序会从服务器取出一个值返回;如果我现在选择了C,返回值为E;当我再选择C时(第二个C),返回值应该为F,但是我发现如果我还选择C时,服务器端的SelectedIndexChanged事件并没有触发,不知道是为什么?请高手帮忙解答。
  对了,我用的是vs2003.谢谢!

------解决方案--------------------
HTML code
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
            <asp:ListItem>3</asp:ListItem>
            <asp:ListItem Value="4">3</asp:ListItem>
</asp:DropDownList>

------解决方案--------------------
主要是如果DropdownList的项不同,而值却相同时,.net的处理机制是同值的处理最后一个,所以就出现了你所碰到的,选择第一个C是出现E,选择第二个还是出现E
建议:在填充DropdownList的值时,用符号进行区分一下,然后取值时在替换掉你进行区分的符号,就OK了
我不知道我说明白了吗?