有没有人写过或者有没有办法使用属性名而不是表达式来调用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);方法总是为空的,我已经尝试了很多方法。
干杯
发布于 2012-01-15 14:25:35
我认为Editor方法就是您想要的:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editor.aspx
发布于 2012-01-15 15:26:47
所以,让我把事情搞清楚。您希望使用显式设计为使用表达式的方法,以便使它们具有强类型。你不希望它是强类型的吗?
那么为什么不简单地使用非强类型版本呢?
"For“方法的目的是使它们具有强类型。令人困惑的是,为什么你想要使用for类型,而不是为了它的设计目的而使用它。
https://stackoverflow.com/questions/8867938
复制相似问题