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修复是您的一个模型错误,这意味着您的列表没有被填充。