Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
C# 4.0 C#ASP.net EditorTemplate-获取所用模型属性的名称_C# 4.0 - Fatal编程技术网

C# 4.0 C#ASP.net EditorTemplate-获取所用模型属性的名称

C# 4.0 C#ASP.net EditorTemplate-获取所用模型属性的名称,c#-4.0,C# 4.0,我有一个剃刀视图,我称之为: @Html.EditorFor(m => m.Code) 然后我有一个EditorTemplate视图,它被渲染,看起来像这样: @model string @Html.HiddenFor(m=>m) 我得到这个输出: <input id="Code" name="Code" type="hidden" value="" /> 一切都好 但是现在我只想在EditorTemplate视图中获取属性名code,而不是整个输入字符串。@H

我有一个剃刀视图,我称之为:

@Html.EditorFor(m => m.Code)
然后我有一个EditorTemplate视图,它被渲染,看起来像这样:

@model string
@Html.HiddenFor(m=>m)
我得到这个输出:

<input id="Code" name="Code" type="hidden" value="" />

一切都好

但是现在我只想在EditorTemplate视图中获取属性名
code
,而不是整个输入字符串。
@Html.HiddenFor(m=>m)
方法能够以某种方式从模型对象获取它,并将其放入输入字段,但我如何才能做到这一点

(不,我不想从输入字段字符串中解析它…:)

@Html.HiddenFor(m=>m)
似乎有点奇怪。。。但无论如何:

使用
表达式
,因此您可以使用自己的函数只返回名称:

 public static class GenericHelper<T>
 {
     public static String GetPropertyName<TValue>(Expression<Func<T, TValue>> propertyId)
     {
         var operant = (MemberExpression)((UnaryExpression)propertyId.Body).Operand;
         return operant.Member.Name;
     }
}
公共静态类GenericHelper
{
公共静态字符串GetPropertyName(表达式propertyId)
{
var operant=(MemberExpression)((UnaryExpression)propertyId.Body)。操作数;
返回operant.Member.Name;
}
}

然后创建一个助手在视图中使用它,这就解释了

我不使用@Html.HiddenFor(m=>m)实际上,我只是想表明助手能够得到我想要的东西。谢谢你的回答!我得在这些表达中挖掘一点,我不是很熟悉。