1

SQLデータベースから自動生成されたモデルがあります。

class Organization
{
    public Organization()
    {
        this.ContactTitles = new HashSet<ContactTitle>();
        this.OrganizationAddresses = new HashSet<OrganizationAddress>();
        this.OrganizationBusinessTypes = new HashSet<OrganizationBusinessType>();
        this.OrganizationCountries = new HashSet<OrganizationCountry>();
        this.OrganizationEmails = new HashSet<OrganizationEmail>();
        this.OrganizationMemberships = new HashSet<OrganizationMembership>();
        this.OrganizationNotes = new HashSet<OrganizationNote>();
        this.OrganizationPhones = new HashSet<OrganizationPhone>();
        this.OrganizationWebsites = new HashSet<OrganizationWebsite>();
        this.Contacts = new HashSet<Contact>();
        this.OrganizationIndustryCodes = new HashSet<OrganizationIndustryCode>();
    }

    public int OrganizationID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<ContactTitle> ContactTitles { get; set; }
    public virtual ICollection<OrganizationAddress> OrganizationAddresses { get; set; }
    public virtual ICollection<OrganizationBusinessType> OrganizationBusinessTypes { get; set; }
    public virtual ICollection<OrganizationCountry> OrganizationCountries { get; set; }
    public virtual ICollection<OrganizationEmail> OrganizationEmails { get; set; }
    public virtual ICollection<OrganizationMembership> OrganizationMemberships { get; set; }
    public virtual ICollection<OrganizationNote> OrganizationNotes { get; set; }
    public virtual ICollection<OrganizationPhone> OrganizationPhones { get; set; }
    public virtual ICollection<OrganizationWebsite> OrganizationWebsites { get; set; }
    public virtual ICollection<Contact> Contacts { get; set; }
    public virtual ICollection<OrganizationIndustryCode> OrganizationIndustryCodes { get; set; }
 }

組織ビューの[インデックス]ページで、組織モデルに強く入力されています。

組織のインデックスページに、ICollectionにあるはずのメンバーシップ情報を表示しようとしています。私が誤解しない限り、それが何をするのかを誤解しています。

を配置@Html.DisplayFor(modelItem => item.OrganizationMemberships.してOrganizationMembershipテーブルのデータを取得しようとすると、IntelliSenseに表示されません。データを表示できる必要があるだけで、フォームを使用して変更を送信する必要はありません。

4

1 に答える 1

3

モデルは列挙可能なタイプであるため@model PagedList.IPagedList<VAGTC.Models.Organization>、メインビューでモデルを反復処理する必要があります。

@foreach (var organization in Model)
{
    @Html.DisplayFor(model => organization)
} 

次に、クラスの表示テンプレートOrganizationを作成します。ビューのViews/Shared/DisplayTemplates追加Organization.cshtml

@model VAGTC.Models.Organization

これが、クラスをレンダリングするメインビューです。ここで、メンバーシップアイテムを繰り返すことができます。

@foreach (var membership in Model.OrganizationMemberships)
{
    @Html.DisplayFor(model => membership)
} 

ここでも、の下OrganizationMembershipに追加して、クラスの部分ビューを作成します。OrganizationMembership.cshtmlViews/Shared/DisplayTemplates

于 2012-11-16T23:05:12.867 に答える