给定以下代码:
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 View 中。
最佳答案
试试这个
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);
....
}
关于c# - 如何获取调用表达式的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16002673/