【发布时间】:2013-01-23 23:55:29
【问题描述】:
使用 Asp.Net MVC 已经有一段时间了,但我遇到了一个非常奇怪的问题。每次创建模型时,我都会使用 lambda 表达式,例如:
@Html.EditorFor(model=>model.SomeProperty)
为什么 Asp.Net MVC 使用这种类型的架构?
为什么我不能只使用反射传入一个属性?
使用 lambda 表达式是否更快?因为在幕后我认为要获得属性名称,它必须使用反射。
【问题讨论】:
-
您是否希望在 Razor 视图中为每个标签/编辑/显示设置类似
@Html.EditorFor(typeof(ParvsModel).GetProperty("SomeProperty"), BindingFlags.Public)的内容? -
您可以使用@Html.Editor("SomeProperty"),但是对于喜欢强类型的人来说,存在 lambda 版本。我最近也在一篇博文中介绍了这个主题:odetocode.com/blogs/scott/archive/2012/11/26/…
标签: asp.net-mvc reflection lambda