2015-11-08 75 views
1

我是MVC中的新成員。我曾嘗試閱讀關於如何在集合中使用顯示模板的在線文章。發佈模板mvc4

這是我的模型

public class InsuranceListViewModel 
{ 
    public IList<InsuranceViewModel> InsuranceViewModelList { get; set; } 
    public InsuranceViewModel InsuranceViewModel { get; set; } 
    public List<InsuranceSummaryViewModel> InsuranceSummaryViewModelList { get; set; } 
} 

SummaryViewModel

public class InsuranceSummaryViewModel 
{ 
    public string FriendlyName { get; set; } 
    public int InsuranceId { get; set; } 
    public string GroupId { get; set; } 
    public string MemberId { get; set; } 
    public Nullable<System.DateTime> PolicyStartDate { get; set; } 
    public Nullable<System.DateTime> PolicyEndDate { get; set; } 

} 

InsurnaceDisplay.cshtml

@model P2PExchange.MVC.Web.Areas.Patient.Models.InsuranceSummaryViewModel 
@Html.DisplayFor(x => x.InsuranceId) 
@Html.DisplayFor(x => x.FriendlyName) 
@Html.DisplayFor(x => x.GroupId) 
@Html.DisplayFor(x => x.MemberId) 
@Html.DisplayFor(x => x.PolicyStartDate) 
@Html.DisplayFor(x => x.PolicyEndDate) 

_Insurance.cshml

@model Models.InsuranceListViewModel 
@Html.DisplayFor(x=>x.InsuranceSummaryViewModelList) 

我上面的代碼只顯示保險友好名稱而不是顯示模板中的所有字段。

有人可以請幫助/指導我如何顯示UI上的正確數據?

回答

1

DisplayTemplate需要被定位在/Views/Shared/DisplayTemplates/Views/yourControllerName/DisplayTemplates文件夾,需要進行命名,以匹配類的名稱,即InsuranceSummaryViewModel.cshtml

+0

非常感謝斯蒂芬·馬克!我確實花了半天的時間來解決這個問題,但你在幾分鐘內幫助了我。我確實在displayTemplates文件夾中保留了我的顯示模板,但是文件名不正確,我修正了文件並且工作正常。 – M005

+0

值得一提的是,如果類的名稱與模板不匹配,則會覆蓋'DisplayFor'(和'EditorFor')接受模板名稱:'@ Html.DisplayFor(x => x.InsuranceSummaryViewModelList, 「InsuranceSummary」)''如果你在斯蒂芬寫的一個文件夾中有'InsuranceSummary.cshtml',它將起作用 –