0

我正在尝试实现一个具有 getFirstStudent 方法的接口。我的想法是让所有使用我的局部视图的视图模型都可以使用此方法。通过这种方式,我将解决将多个视图模型(理论上不可能)传递给局部视图的问题。

界面

public Interface IMiniView 
{
       string GetFirstStudentId();
}

第一视图模型:

namespace XXX.ViewModel
{
    public class StudentsViewModel: IMiniView 
    {
        public IEnumerable<StudentInfoViewModel> StudentList { get; set; }

        public string GetFirstStudentId()
        {
            return = ???????
        }
    }
}

我曾经让第一个学生在我的部分观点上...

@Model.StudentsViewModel.StudentList.ElementAt(0).StudentID   

现在我想在 GetFirstStudent 方法中访问它。请注意,StudentInfoViewModel 有一个名为 StudentID 的字符串

4

2 回答 2

0

这有帮助吗?

namespace CivicaEducation.Business.Ces.ViewModel
{
    public class StudentsViewModel: IMiniView 
    {
        public IEnumerable<StudentInfoViewModel> StudentList { get; set; }

        private StudentInfoViewModel FirstStudent 
        {
            get 
            {
                if (StudentList == null || StudentList.Count() == 0) {
                    return null;
                }

                return StudentList.FirstOrDefault();
            }
        }

        public string GetFirstStudentId()
        {
            return FirstStudent == null : string.Empty ? FirstStudent.Id;
        }

                    // you can add more methods / properties to you interface like this
        public string GetFirstStudentName()
        {
            return FirstStudent == null : string.Empty ? FirstStudent.Name;
        }
    }
}
于 2013-05-20T03:29:36.110 回答
0

你可以使用这个。

return StudentList.First().SutdentId;
于 2013-05-20T03:30:43.033 回答