у меня есть этот метод расширения:Попытки получения значения в модели многоуровневой/собственности ассоциации с
public static string GetValueFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
MemberExpression body = (MemberExpression)expression.Body;
string propertyName = body.Member.Name;
TModel model = helper.ViewData.Model;
string value = typeof(TModel).GetProperty(propertyName).GetValue(model, null).ToString();
return value;
}
Это работает очень хорошо для «одного уровня», как это:
проектируемых => Рго. MyProperty
Поэтому он возвращает значение для MyProperty, расположенного под моделью.
Но это не работает на «мульти уровня», как это:
проектируемых => proj.Level1.MyProperty
Здесь, пытаясь вернуть значение для MyProperty, расположенного по модели но мы теряем уровень1!
Я не знаю, ясно ли я?
Спасибо.
Он работает, спасибо очень много. – Bronzato