有没有人写过或有过一种方法来调用EditorFor使用属性名称而不是使用表达式。MVC 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);
方法总是为空,我试了很多东西。
干杯
这实际上并不理想,因为我理想地希望从属性中获取所有数据注释,但它有点作用。我不得不为注释编写一些代码。 – Jim 2012-01-21 06:46:27