У меня есть значения модели и я хочу отобразить их в @ Html.DropDownList или @ Html.DropDownListFor - PullRequest
0 голосов
/ 09 мая 2019

Я новичок в просмотре бритвенных страниц. У меня есть модель, в которой я получаю значения списка и хочу отобразить его в представлении, используя @ Html.DropDownListFor / @ Html.DropDownList, кто-то, пожалуйста, помогите мне с фрагментом кода. У меня есть изображение модели (прилагается).

Поскольку я не очень разбираюсь в Razor, в итоге у меня появился тег html select и я использую jquery для получения данных, но проблема в том, что мне нужно отправить обновленную модель в контроллер mvc.

public class CountryViewModel
    {
        public int Id { get; set; }
        public string CountryName { get; set; }
        public string CountryCodeISO3 { get; set; }
        public string CountryCodeISO2 { get; set; }
    }

enter image description here

1 Ответ

1 голос
/ 10 мая 2019

Вы можете сделать что-то вроде этого (еще не проверял)

Добавить свойство в вашей модели

public List<SelectListItem> Countries { get; set; }

Получить значения свойства

List<SelectListItem> Countries = new List<SelectListItem>();

    foreach (var item in _db.Countries)
                    {
                        Countries.Add(new SelectListItem
                        {
                            Text = item.CountryName,
                            Value = item.Id.ToString()
                        });
                    }

По вашему мнению

<select class="form-control" id="countryId">
        <option selected="selected" value="-1"></option>
        @foreach (var item in Model.Countries)
        {
            <option value="@item.Value">@item.Text</option>
        }
    </select>

Надеюсь, это поможет

...