ASP.NET MVC3.0中同一View如何返回多个Model或数据集

来源:互联网 发布:易语言打码挂机源码 编辑:程序博客网 时间:2024/05/29 08:33
在控制器里定义一个Dictionary 泛型类,再把要用到的不同模型加进去,额,直接贴代码吧。

控制器:

        public ActionResult Index()        {            IDictionary<string, object> test = new Dictionary<string, object>();            test.Add("StudentList", new List<StudentInfo>());                        return View(test);        }

视图:

@model IDictionary<string, object>@{    Layout = null;}<!DOCTYPE html><html><head>    <title>我的个人主页</title></head><body><ul style="list-style: none; margin-left: 10px;">                    @foreach (var m in (IList<EnglishDiary.Models.StudentInfo>)Model["StudentList"])                    {                        <li>@m.StuID</li>                        <li>@m.StuName</li>                    }                </ul></body></html>

嗯,这样就可以了。





我也认为Galactica 的做法是一个不错的做法,我最近也遇见过..

例如   

class UserInfoModel

class MessageInfoModel

则我们可以使用 UserMessageModel来对UserInfoModel 和 MessageInfoModel进行第二次的封装

class UserMessageModel

{

  public UserInfoModel //自己进行一下错误处理

  {

    get;

           set;

  }

      public MessageInfoModel //自己进行一下错误处理

  {

    get;

           set;

  }

 }

这样是可以达到效果的!再到网上找找看,如果有更好的办法贴出来分享一下..