Booleans in C# output their values with capital letters, so
bool f = false;
Console.Write(f.ToString());
outputs False
, not false
. Try reflecting that in your markup:
<asp:ListItem Text="Item 1" Value="False"></asp:ListItem>
<asp:ListItem Text="Item 2" Value="True"></asp:ListItem>