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!