Model view controller 从HtmlHelper获取对象实例

Model view controller 从HtmlHelper获取对象实例,model-view-controller,lambda,types,html-helper,Model View Controller,Lambda,Types,Html Helper,在htmlhelper中使用以下代码可以提供一些元数据。 它甚至有容器类型。 我想要的是容器实例。在表达式中 x => x.FirstName 我想得到x实例 有办法吗 public static MvcHtmlString DisplayEditorFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expressio

在htmlhelper中使用以下代码可以提供一些元数据。 它甚至有容器类型。 我想要的是容器实例。在表达式中

x => x.FirstName
我想得到x实例

有办法吗

    public static MvcHtmlString DisplayEditorFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, string templateName, string htmlFieldName, object additionalViewData)
    {
        var result = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
        ...
    }
public static MvcHtmlString DisplayEditorFor(此HtmlHelper html、表达式、字符串模板名、字符串htmlFieldName、对象附加视图数据)
{
var result=modelmetada.FromLambdaExpression(表达式,html.ViewData);
...
}
结果包含类型和大量其他信息,但不包含实例。 表达式本身必须在主体中绑定。我该怎么解释呢?

这太愚蠢了

html.Model contains the object instance.
而且

var value = expression.Compile().Invoke(html.ViewData.Model);
将使用lambda为您提供已评估模型实例的值