110,534
社区成员
发帖
与我相关
我的任务
分享
public class Person
{
public string Name{get;set;}
}
void TestFunc(string name)
{
//由于我具体的方法是泛型, 所以在这我已经能获取到Person类型,但
//我还想得到传入name值的那个属性名
}
...{
Person p1=new Person();
p1.Name="Jack";
TestFunc(p1.Name);//近在咫尺,却无法在方法内得到这个"Name" ?
}
public static MvcHtmlString EnumToCombo<TModel, TProperty>
(this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TProperty>> expression)
{
//表达式绑定的Model的属性成员
var member = ((MemberExpression)expression.Body).Member;
var itemName = member.Name; //属性名
var propertyInfo = (PropertyInfo)member;
var memberType = propertyInfo.PropertyType; //属性类型
var itemBalue =ModelMetadata.FromLambdaExpression(
expression,htmlHelper.ViewData).Model; //属性值
}
<td>计算方式:</td>
<td>@Html.EnumToCombo(m=>m.CalculationMode)</td>