0

私は次のように持ってC# MVC Modelいます;

public class MyModel
{
    ...
    public IEnumerable<MyModel> allDetails { get; set; }
    public int age { set; get; }
    public string gender { set; get; }
    public int schoolid { set; get; }
    ...
}

からデータを取得しますallDetails。どうすればできますか?

controller;

model.allDetails = MyDetails.getAllDetails(); // Saves all details in the Model

どうすればこれから取得できますage, gender and schoolmodel; 私のアプローチは次のとおりです(ただし、機能しません)

model.allDetails.age; // This doesn't work
4

2 に答える 2

2

あなたのコードでは、model.allDetails はリスト (または IEnumerable を実装するもの) であるため、foreach または別のループを使用するか、単に First() を使用して最初の値を取得する必要があります: model.allDetails.First().age

于 2013-03-26T08:47:44.103 に答える
0

クラスのデザインが間違っていると思います。MyModelおそらく、次のような2つのクラスが必要です。

public class MyClass
{
        ...
        public IEnumerable<MyModel> allDetails { get; set; }
        public int age { set; get; }
        public string gender { set; get; }
        public int schoolid { set; get; }
        ...
}


public class MyModel
{
    ...
    public IEnumerable<MyClass> allDetails { get; set; }
    ...

}

あなたのMyModelクラスには、IEnumerableプロパティを含む他のクラスが含まれます。後で、コントローラーを介してモデルを埋めることができます。

現在のMyModelクラスでは、クラス自体の IEnumerable を保持しているため、そのクラスの各オブジェクトには別の IEnumerable などがあります。

プロパティ名については、C# コーディング規則 (C# プログラミング ガイド)も参照してください。

于 2013-03-26T08:49:58.697 に答える