Asp.net mvc ASP MVC 3显示列表<&燃气轮机;名称

Asp.net mvc ASP MVC 3显示列表<&燃气轮机;名称,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我有这个型号 public class Registro { [DisplayName("Provincia")] [Required] public int ProvinciaID { get; set; } public List<Provincia> rProvincia { get; set; } } 公共类注册表 { [显示名称(“省”)] [必需] public int ProvinciaID{get;se

我有这个型号

public class Registro
    {
      [DisplayName("Provincia")]
      [Required]
      public int ProvinciaID { get; set; }
      public List<Provincia> rProvincia { get; set; }
    }
公共类注册表
{
[显示名称(“省”)]
[必需]
public int ProvinciaID{get;set;}
公共列表rProvincia{get;set;}
}
现在我需要做什么来在我的detalis视图中显示
列表rProvincia
,我想可能
@Html.DisplayFor(modelItem=>item.rProvincia.Name)
,有什么想法吗?,
谢谢大家:)

无需为每个
循环编写任何
。在您的主要观点中:

@model AppName.Models.Registro
...   
@Html.DisplayFor(x => x.rProvincia)
...
然后在显示模板内
~/Views/Shared/DisplayTemplates/Provincia.cshtml

@model AppName.Models.Provincia
<div>
    @Html.DisplayFor(x => x.Name)
</div>
@model AppName.Models.Provincia
@DisplayFor(x=>x.Name)
此显示模板将为Provincia集合中的每个项目呈现。

修复:

public class Registro
    {
      [DisplayName("Provincia")]
      [Required]
      public int ProvinciaID { get; set; }
      public virtual Provincia rProvincia { get; set; }
    }

使用虚拟我得到了它

谢谢Darin Dimitrov,它对我不起作用,我不知道我是否错了,只是我现在需要显示一个“rProvincia.Name”…它只适用于显示列表中的一个项目还是显示列表中的所有项目?(我正在处理详细信息视图)对不起,我的english@Asinox,恐怕我不明白你的意思,也不明白什么不起作用。这样做的目的是将主视图强类型化为
Registro
视图模型。然后在此主视图中使用
@Html.DisplayFor(x=>x.rProvincia)
helper,其中
rProvincia
是您的集合。然后ASP.NET MVC将查找
~/Views/Shared/DisplayTemplates/Provincia.cshtml
,并为集合的每个元素呈现它。这就是模板化帮助程序的工作原理。@Darin对不起,我是关于asp mvc的新手,我按照你说的做了,但现在正在演示nothing@Asinox“
rProvincia
列表是否包含任何元素?”?另外,请确保您的显示模板的名称与我显示的完全相同(
Provincia.cshtml
),并且它位于
~/Views/Shared/DisplayTemplates
文件夹中。好吧,我的朋友:),我已经像您说的那样了:),但是还没有发生任何事情。。。是的,我有rProvincia中的元素…你应该将@Darin的答案标记为正确,因为这是你答案的正确修复。Ypur修复是您的一个模型错误,这意味着您的列表没有被填充。