ASP.NET MVC: лямбда-выражению HTML Helper не удается распознать переменную - PullRequest
0 голосов
/ 25 февраля 2011

Возможно, это мое неведение о том, как работает Razor/Html помощник, надеюсь, кто-то с этого форума сможет пролить свет :)

Кажется, я не могу получить простое выражение lamda, вычисленное внутри вспомогательного html.

мой вид бритвы строго связан с типом "BrandViewModel", а затем следующий код, который должен связать список брендов (свойство Brands) с выпадающим списком

@{Html.DropDownListFor((x) => x.BrandId, x.Brands);}

завершается со следующей ошибкой. Имя 'x' не существует в текущем контексте

intellisense подтверждает, что эти свойства (BrandId и Brands) существуют в модели, и он показывает то же самое, когда я набираю x.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 февраля 2011
@Html.DropDownListFor((x) => x.BrandId, Model.Brands)
Выражение

заканчивается после первой запятой, и @{Html.DropDownListFor((x) => x.BrandId, Model.Brands)} ничего не показывает, потому что @{ } - это кодовый блок, эквивалентный <% %> .., чтобы фактически отобразить его, вам нужно использовать только @, что эквивалентно <%: %> или запишите его для вывода вручную.

...