title: ListItem.Value overwrites Text if not set
body: <p>If you set <code>ListItem.Value</code> to a value before setting its <code>Text</code> value, both <code>Text</code> and <code>Value</code> will be set to the same value. I can get around this, but I just want to know why this happens? Is it because something "must" be set to the screen? And why overwrite when the default is an empty string.</p>
  
  <p>.Net 3.5</p>
  
  <pre><code>ListItem li = new ListItem();
  li.Value = "abc"; //Text is now = "abc"
  li.Text = "def";
  li.Value = "qwe"; //Text remains "def"
  </code></pre>