powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Html.DropDownListFor
5 сообщений из 5, страница 1 из 1
Html.DropDownListFor
    #37727656
last_student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здраствуйте!

в странице редактирования использую @Html.DropDownListFor

Код: c#
1.
@Html.DropDownListFor(x => x.SelectedCategoryId, Model.AllCategoreis.Select(x => new SelectListItem { Text = x.Name, Value = x.ID.ToString()}))



как сделать что бы когда страница загрузилась, в этом дроп даун листе было значение не по умолчаиню, а значение которое равно значению в модели?
...
Рейтинг: 0 / 0
Html.DropDownListFor
    #37727722
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никогда не использовал эту функцию, но наверн как-то так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Html.DropDownListFor(x => x.SelectedCategoryId,
        Model.AllCategoreis.Select(x => 
                 new SelectListItem {
                        Text = x.Name,
                        Value = x.ID.ToString(),
                        Selected = Model.SelectedValue == x.ID
                 }
         )
)


Ну или обычный <select & foreach :)
...
Рейтинг: 0 / 0
Html.DropDownListFor
    #37727777
last_student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS,

спасибо большое
вот так работает
Код: c#
1.
Selected = (x.ID == Model.SelectedValue)
...
Рейтинг: 0 / 0
Html.DropDownListFor
    #37728449
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
last_student, все же такими вещами управлять в разметке не стоит, она чисто отображает и не несет в себе какую-то неявную логику, посему вечерком решил проверить, как же селектить нужное значение

Смотри, я загуглил: html.dropdownlistfor selected value
Переходим по первой ссылке

Видим код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var list = new[] {   
    new Person { Id = 1, Name = "Name1" }, 
    new Person { Id = 2, Name = "Name2" }, 
    new Person { Id = 3, Name = "Name3" } 
};

var selectList = new SelectList(list, "Id", "Name", 2);
ViewData["People"] = selectList;

Html.DropDownList("PeopleClass", (SelectList)ViewData["People"])


Обратил внимание на двоечку?
Понимаем что плохо знаем базовые классы и лезем в MSDN читать про SelectList
Там написано:
SelectList(IEnumerable, String, String, Object) - Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, and a selected value .
...
Рейтинг: 0 / 0
Html.DropDownListFor
    #37728687
last_student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS,

спасибо еще раз.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Html.DropDownListFor
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]