ListBox SelectedIndex returning wrong value
<p><br></p>

<p>So I have an unbound ListBox populated with ListBox items with values such as:<br><br></p>

<pre><code>new ListItem("Item1", "1")
new ListItem("Item2", "2")
new ListItem("Item3", "0")
new ListItem("Item4", "0")
new ListItem("Item5", "0")
</code></pre>

<p>A delete button should allow a user to delete a ListItem. However, whenever the user tries to delete an item with a value of zero, only the topmost 'zero' item is selected. In the example above, if 'Item5' was selected and delete was clicked, 'Item3' would be given the boot. Items with proper numbered values behave appropriately. Any idea why this might be happening, or did I answer my own question by typing it out(perhaps ASP.net can't differentiate between items with identical values?)? 
<br><br>
Any help would be greatly appreciated. Many thanks!</p>

<p>Edit: To clarify, items with values of zero are removed differently than items with other values. Ie:<br> If an item has a non-zero value, it is removed by value. If it has a value of zero, it is removed by it's ListBox index, but that index is always being returned as the index directly under the last non-zero value.</p>
