Search code examples
c#asp.net-mvcrazordropdownbox

@Html.DropDownListFor how to set default value


@Html.DropDownListFor(model => model.Status, new List<SelectListItem> 
       { new SelectListItem{Text="Active", Value="True"},
         new SelectListItem{Text="Deactive", Value="False"}})

In view I am using this drop dowenlist coding. I run my application default deactive value is display in dropdown list box. I want display default Active


Solution

  • Like this:

    @Html.DropDownListFor(model => model.Status, new List<SelectListItem> 
           { new SelectListItem{Text="Active", Value="True"},
             new SelectListItem{Text="Deactive", Value="False"}},"Select One")
    

    If you want Active to be selected by default then use Selected property of SelectListItem:

    @Html.DropDownListFor(model => model.Status, new List<SelectListItem> 
               { new SelectListItem{Text="Active", Value="True",Selected=true},
                 new SelectListItem{Text="Deactive", Value="False"}},"Select One")
    

    If using SelectList, then you have to use this overload and specify SelectListItem Value property which you want to set selected:

    @Html.DropDownListFor(model => model.title, 
                         new SelectList(new List<SelectListItem>
      {
          new SelectListItem { Text = "Active" , Value = "True"},
          new SelectListItem { Text = "InActive", Value = "False" }
      },
        "Value", // property to be set as Value of dropdown item
        "Text",  // property to be used as text of dropdown item
        "True"), // value that should be set selected of dropdown
         new { @class = "form-control" })