пятница, 19 марта 2010 г.

MVC. Html.DropDownList

Эта тема перекликается с описанной в прошлом посте. Но теперь хочется, чтобы при редактировании и добавлении новой записи, вместо идентификаторов-ссылок на первичные ключи был выбор ввиде выпадающего списка. То есть вместо Html.TextBox используем Html.DropDownList. Вот код в контроллере:

Function CreateSpecific() As ActionResult
Dim Datacontext As New PrintModelDataContext
Dim PrinterList As IList
PrinterList = (From p In Datacontext.Printer Select ID = p.Id, Naim = _ p.Naim).ToList
ViewData("PrinterList") = New SelectList(PrinterList, "ID", "Naim")
Return View()
End Function

А теперь используем список всех принтеров для выбора поля ID_Printer в таблице Specific в представлении:

<%=Html.DropDownList("Id_printer", CType(ViewData("PrinterList"), SelectList)%>

Если у нас есть логическое поле в таблице, то для него тоже можно использовать HTML.DropDownList.
Например в контроллере создаем список:

Dim YesNo As New List(Of SelectListItem)
YesNo.Add(New SelectListItem With {.Value = Boolean.Parse("True"), _
.Text = "ДА",  .Selected = Boolean.Parse("True")})
YesNo.Add(New SelectListItem With {.Value = Boolean.Parse("False"),_
.Text = "НЕТ", .Selected = Boolean.Parse("True")})
ViewData("YesNo") = New SelectList(YesNo, "Value", "Text")

А в представлении код тот же:

<%=Html.DropDownList("Boolean", CType(ViewData("YesNo"), SelectList)) %>
 

Комментариев нет:

Отправить комментарий