如果我有一个模型对象,是否可以创建可以在不同的htmlHelper中使用的Expression<Func<TModel, bool>>()
(例如在CheckBoxFor()
中)
this HtmlHelper<TModel> htmlHelper
和财产的名称(通过反思)。
答案 0 :(得分:12)
不确定
static Expression<Func<TModel,TProperty>> CreateExpression<TModel,TProperty>(
string propertyName)
{
var param = Expression.Parameter(typeof(TModel), "x");
return Expression.Lambda<Func<TModel, TProperty>>(
Expression.PropertyOrField(param, propertyName), param);
}
然后:
var lambda = CreateExpression<SomeModel, bool>("IsAlive");