MVC,用viewdata作为View传递数据,后来发现网上大家都说使用强类型比较好。
    在网页上加入
    Inherits="System.Web.Mvc.ViewPage<IEnumerable<Maticsoft.Model.Menu>>"
    页中使用
    <% foreach (var item in Model){ %>
    //列出数据
    <% } %>
    就OK了。
    但马上有一个问题,这样只能传递一个数据集合,比如list<t>或者Queue<t>,
    只能传递一个,有时一个页不可以,只有一个数据集合,比如首页,要传递多个数据集合
    于是,我改了改
    Inherits="System.Web.Mvc.ViewPage<IEnumerable<IEnumerable<Maticsoft.Model.Menu>>>"
    这样,可以把list<t>或者Queue<t>作为单个加入集合中,然后传递出来。    在页面中,转换出了点问题
    <% foreach (var item in (Model as list<list<Maticsoft.Model.Menu>>)[0]){ %>    转换不了。    网上查一下,没啥结果,不查了,直接问。大家可以不答这个问题,就回答一下,你们怎样对付,一个页要显示多个数据集合,用强类型,不用viewdata

解决方案 »

  1.   

    我还是用的ViewData, 在 页面开始写几个服务器方法封装成强类型的方法或者属性获取<script runat="sever" language="C#" type="text/C#">
    private XXX GetXXX()
    {
    return ViewData["XXX"] as XXX;
    }
    </script>
      

  2.   

    自己定义一个视图模型public class IndexViewModel
    {
        public IEnumerable<T> List1 {get;set;}
        public IEnumerable<T> List2 {get;set;}
        public IEnumerable<T> List3 {get;set;}
    }
      

  3.   

    这个我也想到了。有MOMEL层,建MOMEL数据集合模型,但这样有点麻烦,嗯,就看看,有没有什么数据集合来解决之类的解决这个问题,如果没,就这个方法咯。