Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 Html.LabelFor中的动态Lambda_Asp.net Mvc 3_Razor_Lambda - Fatal编程技术网

Asp.net mvc 3 Html.LabelFor中的动态Lambda

Asp.net mvc 3 Html.LabelFor中的动态Lambda,asp.net-mvc-3,razor,lambda,Asp.net Mvc 3,Razor,Lambda,我正在尝试使用razor引擎中的html帮助程序为动态属性创建标签。视图模型不是强类型的。我对lambda表达式的了解不是很强,我不确定如何生成适合这种情况的动态表达式 public class someModel<TEntity> where TEntity : class { public TEntity Entity { get; set; } } 抛出错误的表达式树可能不包含动态操作 我研究了动态表达式树的制作,但不确定这是过度的还是必要的。如何使用字符串访

我正在尝试使用razor引擎中的html帮助程序为动态属性创建标签。视图模型不是强类型的。我对lambda表达式的了解不是很强,我不确定如何生成适合这种情况的动态表达式

public class someModel<TEntity> where TEntity : class
{
    public TEntity Entity { get; set; }
}    
抛出错误的表达式树可能不包含动态操作

我研究了动态表达式树的制作,但不确定这是过度的还是必要的。如何使用字符串访问
实体的属性


实体可以是许多不同类型的类。这些类具有完全定义的数据注释,例如
[Display(Name=“Some Name”)]
,我尝试使用LabelFor的原因是为了访问这些数据注释。

这是不可能的。不能对动态值使用lambda表达式或强类型帮助程序。您必须使用这些帮助程序的弱类型版本:

@model dynamic
@{
    string property = "FirstName";
}

@Html.Label("property")

是的,一旦你停止使用强类型视图模型,很多事情和习惯将不得不改变。

我明白了,我考虑过用javascript来做其余的事情,因为从技术上讲,所有的数据都在那里,它只是缺少强类型模型的良好支持。我只是尝试为crud视图创建这个通用视图,而不是为任何需要更多基础知识的东西。我厌倦了在代码上有极其相似的观点。
@model dynamic
@{
    string property = "FirstName";
}

@Html.Label("property")