誰かが書いているか、式を使用する代わりにプロパティ名を使用してEditorForを呼び出す方法があります。MVC Editorプロパティの名前
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);
のメソッドは常にnullですが、私は多くのことを試しました。私はこのストレートを取得してみましょう、だから、http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editor.aspx
私は理想的にはプロパティからすべてのデータ注釈をフェッチする必要があるので、実際には理想的ではありません。注釈のコードを書く必要がありました。 – Jim