2012-03-30 85 views
0

我在视图中具有以下foreach,我希望它在我的视图模型中遍历属性,并为每个属性都显示一个文本框。检查视图模型属性是否为字符串

foreach (var property in ViewData.ModelMetadata.Properties) 
     { 
      if(property.GetType() == "string") 
      { 
       <div class="watermark"> 
        <label>Friend's email address</label> 
        <br> 
        @Html.Editor(property.PropertyName) 
       </div> 
      } 
     } 

理想property.GetType()==“字符串”将返回真或假,但这种情况并非如此,因为.GetType总是返回System.Type的(我相信)。

+0

为什么要通过属性循环?为什么不使用'Html.EditorFor(model => model.SomeProperty)'。 – RPM1984 2012-03-30 00:50:07

+0

我在这个视图模型中有10个电子邮件属性,复制粘贴10次似乎很愚蠢,所以我要循环浏览编辑器的字符串。 – 2012-03-30 01:05:10

+0

发现它,需要是 if(property.ModelType.Name ==“String”) – 2012-03-30 01:06:14

回答

1

试试这个

if(property.GetType() == typeof(string))