我正在尝试使用SelectExtensions.DropDownListFor方法,但是interweb上的示例很少,而且stackoverflow上只有一个或两个。我无法让我的下拉工作。
以下是我的.cshtml摘录:
@SelectExtensions.DropDownListFor( m => m.LegalEntity.Address.Country.SelectedCountry,
new SelectList( Model.LegalEntity.Address.Country.Countries,
"CountryId", "Name",
Model.LegalEntity.Address.Country.Countries.First().CountryId))
我一直在关注stackoverflow帖子(MVC3 DropDownListFor - a simple example?)的格式,但我无法让它发挥作用。 IntelliSense和编译器都抱怨模型中不存在LegalEntity,但它确实存在。 IntelliSense无法在第一行为Func提供任何建议。
我做错了什么?
标记
答案 0 :(得分:1)
DropDownListFor
是一种扩展方法,SelectExtensions
是一个静态类。
你应该使用
@Html.DropDownListFor(m => m...)
其中Html
将是扩展方法的this HtmlHelper<>...
第一个参数。
如果你真的想保留你的配方,你应该
@SelectExtensions.DropDownListFor(Html, m => m.LegalEntity....)
但是使用扩展方法,您不需要静态类名,但可以使用
<the first parameter with the this keyword of the method>.TheMethod(secondParameter, thirdParameter, etc.)