JzInqXc9Dg JzInqXc9Dg - 9 months ago 40
ASP.NET (C#) Question

Why I am getting "System.Web.Mvc.SelectListItem" in my DropDownList?

I believe I have bound my data correctly, but I can't seem to get my text property for each SelectListItem to show properly.

My model:

public class Licenses
public SelectList LicenseNames { get; set; }
public string SelectedLicenseName { get; set; }


public ActionResult License()
DataTable LicsTable = BW.SQLServer.Table("GetLicenses", ConfigurationManager.ConnectionStrings["ProfressionalActivitiesConnection"].ToString());
ProfessionalActivities.Models.Licenses model = new ProfessionalActivities.Models.Licenses();
model.LicenseNames = new SelectList(LicsTable.AsEnumerable().Select(row =>
new SelectListItem
Value = row["Description"].ToString(),
Text = "test"
return PartialView("_AddLicense", model);
catch (Exception ex)
var t = ex;
return PartialView("_AddLicense");


@Html.DropDownList("LicenseNames", new SelectList(Model.LicenseNames, "Value", "Text", Model.LicenseNames.SelectedValue), new { htmlAttributes = new { @class = "form-control focusMe" } })

Answer Source

Use the Items property of your LicenseNames property which is of type SelectList

@Html.DropDownList("SelectedLicenseName", new SelectList(Model.LicenseNames.Items,
                                       "Value", "Text", Model.LicenseNames.SelectedValue))

Or with the DropDownListFor helper method

                                         Model.LicenseNames.Items as List<SelectListItem>)

So when you post your form, you can inspect the SelectedLicenseName property

public ActionResult Create(Licenses model)
  //check model.SelectedLicenseName