title: add attribute other than value to DropDownList items when using SqlDataSource
body: <p>I have a DropDownList bound to a SqlDataSource as follows:</p>
  
  <pre><code>&lt;asp:DropDownList ID="ddlist" AppendDataBoundItems="True" DataSourceID="SqlDataSource1" DataTextField="name" DataValueField="value" AutoPostBack="True" runat="server"&gt;
      &lt;asp:ListItem&gt;&lt;/asp:ListItem&gt;
  &lt;/asp:DropDownList&gt;
  &lt;asp:SqlDataSource ID="SqlDataSource1" ConnectionString="&lt;%$ ConnectionStrings:myConnectionString %&gt;" SelectCommand="SELECT [name], [value] FROM [myTable]" runat="server"&gt;&lt;/asp:SqlDataSource&gt;
  </code></pre>
  
  <p>I would like to bind a third database column to another attribute (not value), say database table column <code>DefaultBit</code> to ListItem attribute <code>data-default</code> so that the DropDownList renders as </p>
  
  <pre><code>&lt;select&gt;
      &lt;option&gt;&lt;/option&gt;
      &lt;option value="1" data-default="1"&gt;Line 1&lt;/option&gt;
      &lt;option value="2" data-default="0"&gt;Line 2&lt;/option&gt;
  &lt;/select&gt;
  </code></pre>
  
  <p>I assume I need to do this programmatically in the code-behind file, but it's not clear to me if I would still bind a SqlDataSource to the DropDownList or if I should open a connection and iterate through the results using SqlReader and update the DropDownList "manually" or some other more elegant solution.</p>