2011-04-09 98 views
2

刚开始使用MVC3并尝试在视图中构建下拉列表时遇到问题。 视图模型填充与项目的SelectList:DropDownListFor生成'名称'模型'在当前上下文中不存在'错误

mdm.CaptionSetList=new SelectList(CaptionSet.Fetch(), "CaptionSetId", "Description") 

然后在视图中使用:

@Html.DropDownListFor(model => model.Entity.CaptionSetId, model.CaptionSetList) 

但是当页面命中,行被突出显示与编译器消息:

编译器错误消息:CS0103:名称“模式”在当前上下文中不存在

我在做什么样的初学者错误?

回答

5

为DropDownListFor第一个参数是一个函数,使部分是正确的,但第二部分只期待的SelectList因此,所有你需要做的是

@Html.DropDownListFor(model => model.Entity.CaptionSetId, Model.CaptionSetList) 

注意大小写。

进一步澄清

在强类型视图Model是指结合于视图的模型的特性。由于第二个参数只是期望列表,并且您已指定模型具有名为CaptionSetList的属性,因此您将该列表指定为Model.CaptionSetList。如果您已将该列表放入ViewBag中,则会放入ViewBag.CaptionSetList

将此对比第一个参数,它是一个函数,它接受与模型相同类型的一个参数。

相关问题