Установить выбранное значение на SelectList не работает - PullRequest
1 голос
/ 27 апреля 2019

Судя по всему, на SO этот простой вопрос уже дан ответ, но я не могу заставить его работать в моем коде.

Я хочу иметь возможность предварительно выбрать первый элемент, показанный в списке SelectList, на мой взгляд.

Мой контроллер:

public ActionResult Create(){
    CostumerRegister rModel = new CostumerRegister();
    rModel.AllStores = getStoresForUser(User.Identity.GetUserId());
    //to auto select the first element of the select list
    rModel.AllStores.First().Selected = true;
    return View(rModel);
}

public SelectList getStoresForUser(string userId){
//...
}

На мой взгляд:

@Html.ListBoxFor(m => m.SelectedStores, Model.AllStores, new { @class = "form-control" })

Я ожидаю, что первый элемент будет выбран в представлении, но он не выбран.

1 Ответ

1 голос
/ 27 апреля 2019

используйте это, я думаю, что это полезно:

public ActionResult Index()
        {
            // Preselect items with id 1 and 3
            var selectedItemIds = new[] { 1, 3 };

            var model = new MyViewModel
            {
                Items = new MultiSelectList(
                    new[] 
                    {
                        // TODO: Fetch from your repository
                        new { Id = 1, Name = "item 1" },
                        new { Id = 2, Name = "item 2" },
                        new { Id = 3, Name = "item 3" },
                    }, 
                    "Id", 
                    "Name", 
                    selectedItemIds
                )
            };

            return View(model);
        }
...