#c# #asp.net-mvc-3 #html-helper
#c# #asp.net-mvc-3 #html-помощник
Вопрос:
хорошо, допустим, у меня есть следующая модель:
public class bar{
public string bar {get; set; }
}
public class foo{
public bar mybar{get; set;}
public string anotherproperty{get; set;}
}
И в пользовательском интерфейсе я хочу сделать это:
@Html.MyWhackyHelperFor(x=>x.bar)
которое использует :
public static MvcHtmlString MyWhackyHelperFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TValue>> expression){
//how can i get a the actual bar object here?
}
как мне получить фактическую часть модели, на которую ссылаются?
Ответ №1:
Вам нужно скомпилировать выражение в метод, затем вызвать метод:
TValue val = expression.Compile()(htmlhelper.ViewData.Model);
Комментарии:
1. мило. спасибо — было TValue val = выражение. Compile()(HtmlHelper.ViewData. Модель); если быть точным, ffr 🙂