从模型C#MVC中检索值

时间:2013-03-26 08:44:10

标签: c# asp.net-mvc asp.net-mvc-3

我有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 school中检索model;我的方法如下(但不起作用)

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

2 个答案:

答案 0 :(得分:2)

在你的代码模型中.allDetails是一个列表(或实现IEnumerable的其他方法),所以你必须使用foreach或另一个循环,或者只使用First()从中获取第一个值:model.allDetails.First() 。年龄

答案 1 :(得分: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,其中包含属性。之后您可以通过控制器填充您的模型。

在当前的MyModel类中,您保留了类本身的IEnumerable,因此该类的每​​个对象都将具有另一个IEnumerable,依此类推。

您可能还会看到C# Coding Conventions (C# Programming Guide)作为您的媒体资源名称。