We used to bind model class in ASP.NET MVC dropdownlist like below
<%= Html.DropDownList("ApprovalStatus", Model.ApprovalStatus, new { @class = "select", onchange = "javascript:CheckApprovalStatus(this);" })%>
The HTML output of the above is
<select class="select" id="ApprovalStatus" name="ApprovalStatus" >
<option value="Approved">Approved</option>
<option value="Rejected">Rejected</option>
<option value="InProgress">In Progress</option>
</select>
What if you would like to have Keys & Value separately and like below and if the model class is KeyValuePair
<select class="select" id="Country" name="Country">
<option value="US">United States</option>
<option value="IN">India</option>
<option value="SG">Singapore</option>
</select>
then it should bind with Keys & Values.
CountryList = new SelectList(Country.ToList(),"Key","Value");
Happy Coding!