【问题标题】:Get object instance from HtmlHelper从 HtmlHelper 获取对象实例
【发布时间】:2011-01-27 09:52:19
【问题描述】:

在 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);
        ...
    }

result 有类型和许多其他信息,但没有实例。 表达式本身必须在主体中具有约束力。我该如何梳理它?

【问题讨论】:

    标签: model-view-controller lambda types html-helper


    【解决方案1】:

    这太愚蠢了。

    html.Model contains the object instance.
    

    此外

    var value = expression.Compile().Invoke(html.ViewData.Model);
    

    将使用 lambda 为您提供评估模型实例的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      相关资源
      最近更新 更多