Q:

How to add an initial "select" value to a DropDownList

If I use a DropDownList:
 <asp:DropDownList ID="DropDownListSubContractors" runat="server" 
     DataTextField="Company_Name" DataValueField="id">
 </asp:DropDownList>

What attribute do I use/set that allows me to use '---Select---' as initial option on the drop down, instead of the first value in the list. 

A:

You can use
<asp:DropDownList ID="DropDownListSubContractors" runat="server" AppendDataBoundItems="true" DataTextField="Company_Name" DataValueField="id">
    <asp:ListItem Text="---Select---" Value="0" />   
</asp:DropDownList>

Or you can add this dynamically at code behind like this
DropDownListSubContractors. Items. Add(new ListItem("---Select---", "0"));

A:

<asp:DropDownList ID="DropDownListSubContractors" runat="server" AppendDataBoundItems="true" DataTextField="Company_Name" DataValueField="id">
    <asp:ListItem Text="---Select---" Value="" />   
</asp:DropDownList>

You could now bind your DropDown in the code behind as usual to the datasource and this data source doesn't need to contain a default value item:
IEnumerable<MyViewModel> model = ...
DropDownListSubContractors. DataSource = model;
DropDownListSubContractors. DataBind();

