DropDownListFor, selected = true doesn't work

后端 未结 2 548
小蘑菇
小蘑菇 2021-01-16 03:01

Select doesn\'t work for me with DropDownListFor. Can anyone help me?

I have musiccategories and artists that belong to one musiccategory. On my page I want to show

相关标签:
2条回答
  • 2021-01-16 03:33

    Maybe it has something to do with the way you populate your selec list items or your model.

    You can take a look at this post :

    How can I reuse a DropDownList in several views with .NET MVC

    0 讨论(0)
  • 2021-01-16 03:43

    DropDownListFor, selected = true doesn't work

    Yup.

    But I can't make one specified option in the drop down list selected, the first option is always selected at first.

    When you use

    // I don't recommend using the variable `model` for the lambda
    Html.DropDownListFor(m => m.<MyId>, <IEnumerable<SelectListItem>> ...
    

    MVC Ignores .selected and instead verifies the m.<MyId> value against the values in <IEnumerable<SelectListItem>>.

    public class DropDownModel
    {
        public int ID3 {  get; set; }
        public int ID4 { get; set; }
        public int ID5 { get; set; }
        public IEnumerable<SelectListItem> Items { get; set; }
    }
    
    public ActionResult Index()
    {
        var model = new DropDownModel
        {
            ID3 = 3,  // Third
            ID4 = 4,  // Second
            ID5 = 5,  // There is no "5" so defaults to "First"
            Items = new List<SelectListItem>
            {
                new SelectListItem { Text = "First (Default)", Value = "1" },
                new SelectListItem { Text = "Second (Selected)", Value = "2", Selected = true },
                new SelectListItem { Text = "Third", Value = "3" },
                new SelectListItem { Text = "Forth", Value = "4" },
            }
        };
        return View(model);
    }
    
    <div>@Html.DropDownListFor(m => m.ID3, Model.Items)</div>
    <div>@Html.DropDownListFor(m => m.ID4, Model.Items)</div>
    <div>@Html.DropDownListFor(m => m.ID5, Model.Items)</div>
    

    Result:

    dotnetfiddle.net Example

    0 讨论(0)
提交回复
热议问题