Asp.net mvc 3 如何处理lambda语句以获取数据值

Asp.net mvc 3 如何处理lambda语句以获取数据值,asp.net-mvc-3,lambda,Asp.net Mvc 3,Lambda,一些背景: 以下是我的会员用户模型(取出无关内容): 我已写入输出地址的Html帮助程序方法: @Html.Address(Model=>Model.MailingAddress,Model=>Model.MailingAddress.Address1,Model=>Model.MailingAddress.Address2,Model=>Model.MailingAddress.City,Model=>Model.MailingAddress.State,Model=>Model.Mailin

一些背景:

以下是我的会员用户模型(取出无关内容):

我已写入输出地址的Html帮助程序方法:

@Html.Address(Model=>Model.MailingAddress,Model=>Model.MailingAddress.Address1,Model=>Model.MailingAddress.Address2,Model=>Model.MailingAddress.City,Model=>Model.MailingAddress.State,Model=>Model.MailingAddress.Zip)

@Html.Address(Model=>Model.PhysicalAddress,Model=>Model.PhysicalAddress.Address1,Model=>Model.PhysicalAddress.Address2,Model=>Model.PhysicalAddress.City,Model=>Model.PhysicalAddress.State,Model=>Model.PhysicalAddress.Zip)

肯定有什么办法可以这样称呼它:

@Html.Address(Model=>Model.MailingAddress)

@Html.Address(Model=>Model.PhysicalAddress)

我必须承认,我从来没有在lambda表情中出现过“啊哈”的时刻。我似乎无法将我的思想集中在他们身上。我一直在网上搜索,但我不确定我在找什么。如有任何提示、指示、术语、示例,将不胜感激


感谢您的帮助。

在这种情况下,最好定义一个而不是Html帮助程序扩展,其中:

@Html.EditorFor(model => model)
请记住,为了简单起见(暂时忽略表达式),model=>model位,特别是=>只是匿名委托的简写,它允许EditorFor实现回调并获取您希望它使用的模型对象(在您的例子中是地址)


表达式变得有点复杂,但从最简单的意义上讲,它又让您能够打包委托并将其作为“数据”传递出去。

谢谢Daz-我将其转换为一个编辑器模板,似乎工作正常。再次感谢你的帮助。
@Html.EditorFor(model => model)