ASP.Net MVC在View中的多重继承

kin*_*005 4 html c# asp.net asp.net-mvc

我试图弄清楚它是否可能在ASP.Net MVC的视图中有多重继承.现在我正试图在一个视图中从我的模型中打印出来自两个不同表的条目列表.我的视图顶部有以下行:

Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.CoursePrefix>>"
Run Code Online (Sandbox Code Playgroud)

但我也希望将课程包括如下:

Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.Course>>"
Run Code Online (Sandbox Code Playgroud)

我不确定如何实现这一点,任何帮助或建议都表示赞赏.

更新:

谢谢大家的帮助,我继续创建了一个复合类,如下所示:

    namespace GEApproval.Models
{
    public class Listings: GEApproval.Models.CoursePrefix, GEApproval.Models.ICourse
    {
        public List<CoursePrefix> CoursePrefixObjList { get; set; }
        public List<Course> CourseObjList { get; set; }
        private GEApprovalDataModel _db;

        //Constructor
        public Listings()
        {
            _db = new GEApprovalDataModel();
        }

        //Generate a list of all courses associated with the prefix and place in ViewData model
        public void listCourses(ViewDataDictionary viewData, int prefixID)
        {
            var test = _db.CoursePrefix.Include("Course").First(cp => cp.id == 1);
            //Show total courses for this prefix
            viewData.Model = test.Course.ToList();
            viewData["prefix"] = test.Prefix;
            viewData["courseCount"] = test.Course.Count;
            int courseCount = test.Course.Count();//Test
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我现在有以下几行:

Inherits="System.Web.Mvc.ViewPage<List<GEApproval.Models.Listings>>"
Run Code Online (Sandbox Code Playgroud)

我仍然有点困惑,因为在我的视图中列出它们时仍然无法访问Course对象的属性,因为我只是直接从CoursePrefix继承.我不确定我错过了什么.我是否需要为复合对象提供构造函数?如果我已经(据说是)公开了每个列表包装类中的每个属性,我是否需要分别为CoursePrefix和ICourse的继承和实现语句?

Dav*_*ton 8

创建一个ViewModel类,该类具有公开这两组数据的属性.绑定到那个.