Обычно я бы привязать данные к DropDownListFor
с SelectList
:Сильно типизированная привязка к DropDownListFor?
@Html.DropDownListFor(model => model.CustomerId, new SelectList(Model.Orders, "OrderId", "ItemName"))
Есть ли способ сделать это с помощью строго типизированных лямбды, а не со строками собственности. Например:
@Html.DropDownListFor(model => model.CustomerId, new SelectList(Model.Orders, x => x.OrderId, x => x.ItemName))
не думаю есть. SelectList должен знать имена свойств свойства и описания, чтобы он мог привязывать эти свойства к элементу управления/иметь его в своей коллекции. вы, возможно, вместо этого вместо этого создадите пользовательский метод отображения или расширения, но все же считаете, что вам нужно на каком-то уровне рассказать ему, какие свойства идентификатора и имена свойств отображения/описания находятся на объекте, который вы пытаетесь связать. Другое решение, возможно, забыть, используя dropdownlistfor, и просто зацикливать на него вместо html. –