2011-06-19 17 views
1

私は、ASP MVC 3表示リスト<>名前

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

は、今私がショーのために何をする必要があるか私のdetalisでList<Provincia> rProvinciaの名前を表示このモデルは?私は多分@Html.DisplayFor(modelItem => item.rProvincia.Name)ことを考えていた任意のアイデアがありますか? 、 ありがとうございました:)

答えて

6

foreachループを書く必要はありません。単にあなたのメインビューで:

@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> 

この表示テンプレートはrProvinciaコレクション内の各項目についてレンダリングされます。

+0

に感謝ダーリンディミトロフを持って、それだけで私はこの瞬間1で表示する必要があり、私が間違っていた場合、私は知らない、私のために働いていません"rProvincia.Name"、...リストのすべての項目を表示するだけで動作しますか? (詳細ビューで作業しています) 私の英語で申し訳ありません – Asinox

+0

@Asinox、私はあなたが何を意味するのか理解できないのでしょうか。あなたのメインビューは 'Registro'ビューモデルに強く型付けされています。このメインビューの中で '@ Html.DisplayFor(x => x.rProvincia)'ヘルパーを使用します。ここで 'rProvincia'はあなたのコレクションです。 ASP.NET MVCは '〜/ Views/Shared/DisplayTemplates/Provincia.cshtml'を探し、コレクションの各要素に対してレンダリングします。それが、テンプレートヘルパーの仕組みです。 –

+0

@ダリンイム私はあなたが言ったように、何も表示されていないが、何も表示されていませんでした – Asinox

-3

FIX:仮想と

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

私はそれ

+1

あなたは@ Darinの答えをあなたの答えに合った正しいものにする必要があります。 Ypur修正はあなたの部分にモデルエラーであり、あなたのリストにデータが入力されていないことを意味していました。 – James

関連する問題