MVC编辑器用于属性名称

本文关键字:属性 用于 编辑器 MVC | 更新日期: 2023-09-27 18:20:31

是否编写了任何人,或者是否有方法使用属性名称而不是表达式来调用EditorFor。

EditorFor("Code")

与相反

EditorFor(_ => _.Code)

我想写一些更通用的东西。事实证明,通过创建表达式来调用EditorFor是令人厌烦的,我不敢相信没有更好的方法了。

这行不通。

var root = Expression.Parameter(Model.GetType(), "_");                
var expr = Expression.Lambda(Expression.MakeMemberAccess(root, property), root);
var ef = (Expression<Func<Product, string>>) expr;
var method = typeof(EditorExtensions).GetMethod("EditorFor", BindingFlags.Public | BindingFlags.Static, null, new[] {typeof(HtmlHelper<>), typeof(Expression<Func<,>>)}, null);

方法总是空的,我已经尝试了很多方法。

干杯

MVC编辑器用于属性名称

我认为Editor方法就是您想要的:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editor.aspx

所以,让我直说吧。您希望使用显式设计为使用表达式的方法,以便使表达式具有强类型。。并且你希望它不是强类型的?

为什么不简单地使用非强类型版本呢?

"For"方法的目的是使它们具有强类型。令人困惑的是,为什么你想使用For类型,却不想将其用于它的设计目的。