在MVC里面,显示视图是通过控制器来操作,我使用LINQ to SQL的时候,返回的是一个表的实体,那一个页面需要显示多张表的信息的时候,应该怎么做呢?
public ActionResult Index()
        {
            var v = from t in db.A select t;
            return View(v.ToList());
        }
像上面这样,Index页面返回的是A表的内容,那我想在Index页面还需要B表的信息怎么做呢?

解决方案 »

  1.   

    用强类型
    public ActionResult Index()
            {
                FormModel fm = new FormModel();            fm.FromA = from t in db.A select t;
                fm.FromB = from t in db.B select t;
                return View(fm);
            }        public class FormModel
            {
                public IEnumerable<A> FromA { get; set; }
                public IEnumerable<B> FormB { get; set; }
            }
    用Viewdata也可以
      

  2.   

    请问在页面怎么读取数据呢   fm 不是class 类型吗?
      

  3.   

    System.InvalidCastException: 无法将类型为“FormModel”的对象强制转换为类型“System.Collections.IEnumerable”。
      

  4.   

    怎么解决?数据类型不一样return View(fm);