给出以下代码:
public static MvcHtmlString InlineEditable<T,TP>(this HtmlHelper helper, Expression<Func<T,TP>> fieldSelector)
{
var compiledFieldSelector = fieldSelector.Compile();
T argument = ????;
TP value = compiledFieldSelector(argument);
return new MvcHtmlString(GetInlineEditableMarkupInternal(helper, fieldSelector) + value);
}
如何获取参数的值?
我已经尝试过查看Expression.Parameters集合,其中有一些东西但是我似乎无法找到我传入的实际T?
我称之为
@Html.InlineEditable(x=>x.Property)
在Razor视图中。
答案 0 :(得分:1)
试试这个
public static MvcHtmlString InlineEditable<T,TP>(this HtmlHelper<T> helper, Expression<Func<T,TP>> fieldSelector)
{
var compiledFieldSelector = fieldSelector.Compile();
var arg = helper.ViewData.Model;
var value = compiledFieldSelector(arg);
....
}