Получить идентификатор выбранного элемента выпадающего списка - PullRequest
0 голосов
/ 20 января 2012

Я новичок в MVC и мне нужна помощь. У меня есть этот класс модели:

Public Class PostCategories


Public Property ID() As Integer


Public Property Name() As String

Public Property Slug() As String

Public Property ParentID() As Integer

и у меня есть этот выпадающий список на мой взгляд:

 @Html.DropDownList("IDList", New SelectList(Model, "Id", "ID"), "Selected Parent")

Вместо идентификатора я хотел бы добавить имя в раскрывающийся список и сохранить идентификатор в БД Как я должен это сделать? Нужна помощь, пожалуйста.

Ответы [ 2 ]

1 голос
/ 20 января 2012

Предполагая, что ваша View Model - это список PostCategories, тогда просто используйте:

@Html.DropDownList("IDList", New SelectList(Model, "ID", "Name"), "Selected Parent")
0 голосов
/ 20 января 2012

Как сказал Бейерс, достаточно изменить код на

@Html.DropDownList("IDList", New SelectList(Model, "ID", "Name"), "Selected Parent")

где второй параметр конструктора SelectList представляет собой значение выбранного элемента, который вы хотите передать при отправке формы, и должен отражать имя одного из ваших свойств модели, поэтому должно быть "ID", а не "Id" , Второй параметр - это имя элемента, отображаемое в раскрывающемся списке, в этом случае вам следует использовать «Имя», так как это, вероятно, свойство, которое вы хотите использовать. При желании вы можете передать четвертый параметр, который является выбранным значением во время загрузки страницы.

Другой подход заключается в создании списка SelectList в контроллере и передаче его с использованием ViewBag, например:

ViewBag.PostCategoriesId = new SelectList(yourPostCategoriesList, "ID", "Name");

, а затем в представлении ваш код будет выглядеть так:

@Html.DropDownList("PostCategoriesId", string.Empty)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...