2011-02-25 81 views
0

也许它我对Razor/Html助手是如何工作的,从这个论坛希望有人能够投光:)ASP.NET MVC:HTML辅助Lambda表达式无法识别变量

我不能似乎得到一个无知简单的lamda表达式在html帮手里面进行评估。

我的Razor视图强烈绑定到类型为“BrandViewModel”,然后将下面的代码是应该的品牌(品牌属性)的下拉列表绑定下拉框

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

失败,出现以下错误。 当前上下文中不存在名称'x'

智能感知确实证实模型中存在这些属性(BrandId和Brands),并且在我键入x时显示相同。

在此先感谢。第一个逗号和@{Html.DropDownListFor((x) => x.BrandId, Model.Brands)}

回答

0
@Html.DropDownListFor((x) => x.BrandId, Model.Brands) 

表达结束将不会显示任何东西,因为@{ }是代码块,相当于<% %> ..实际呈现它,你需要使用刚刚@这相当于<%: %>还是这样写吧手动输出。

+0

感谢您的回答并指出。但错误仍然存​​在...名称'x'在当前上下文中不存在:( – thanikkal 2011-02-25 13:23:58

+0

@ Html.DropDownListFor((x)=> x.BrandId,** Model **。Brands) - 您是否更改过此项?您在表达式之外使用'x.Brands',正确的是'Model.Brands'。 – 2011-02-25 13:33:24

+0

oops ...忽略了这一点。谢谢Lukas ...标记为答案:) – thanikkal 2011-02-25 17:57:59