MVC Editor для имени свойства - PullRequest
       1

MVC Editor для имени свойства

3 голосов
/ 15 января 2012

Кто-нибудь написал или есть способ вызвать 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);

метод всегда нулевой, я пробовалмного чего.

Ура

Ответы [ 2 ]

3 голосов
/ 15 января 2012

Я думаю, что метод Editor - это то, что вам нужно: http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editor.aspx

0 голосов
/ 15 января 2012

Итак, позвольте мне получить это прямо.Вы хотите использовать метод, который явно предназначен для использования выражений, с целью придания им строгой типизации ... и вы хотите, чтобы он не был строго типизирован??

Цель методов «For» - сделать их строго типизированными.Это сбивает с толку, почему вы хотите использовать тип For, но не использовать его для того, для чего он предназначен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...