今天遇到一个问题:如果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了
我不知道我说明白了吗?