2013-03-26 82 views
0

我有一個C# MVC Model如下;從Model C#MVC檢索值

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 

現在,我怎麼檢索該modelage, gender and school;我的方法如下(但不工作)

model.allDetails.age; // This doesn't work 
+0

視圖上的代碼是什麼?你確定你是從你的視圖傳遞數據到'allDetails'嗎? – 2013-03-26 08:46:43

+0

輸出不會在視圖中使用。我正在使用模塊的值在控制器內部自行進一步處理。 – 2013-03-26 08:48:40

回答

2

在你的代碼model.allDetails是一個列表(或者不便實現IEnumerable的),所以你必須使用的foreach或另一個循環,或者只是一()從它那裏得到第一個值:model.allDetails.First()年齡

0

我覺得你有你的德興類MyModel錯了,你應該有兩個類,如:

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包含屬性的r類。稍後,您可以通過控制器填充您的模型。

在您當前的MyModel類中,您保留了類本身的IEnumerable,因此該類的每​​個對象都將具有另一個IEnumerable等等。

您可能也會看到:C# Coding Conventions (C# Programming Guide)爲您的屬性名稱。