看了很多文档,都不对路子。
我Controller中返回List
 IList<User> ulist = userService.userList(pb.CurrentPage*pb.PageSize, pb.PageSize);
我想把它返回给试图,用表格显示。看文档需要一个ViewModel,
于是
    public class UserViewModel
    {
        private List<User> ulist;        public List<User> Ulist
        {
            get { return ulist; }
            set { ulist = value; }
        }
    }
Controller里代码这么写
  IList<User> ulist = userService.userList(pb.CurrentPage*pb.PageSize, pb.PageSize);
            UserViewModel uModel = new UserViewModel();
            for (int i = 0; i < ulist.Count; i++)
            {
                uModel.Ulist.Add(ulist.ElementAt(i));
            }
            ViewData["footer"] = pb.footer();            return View(uModel);
视图:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<UserViewModel>" %>
        <% foreach (var u in Model.Ulist) { %>       
          <li><%: u.Name %></li>   
       
        <% } %> 运行起来报错
编译器错误消息: CS0246: 找不到类型或命名空间名称“UserViewModel”(是否缺少 using 指令或程序集引用?)源错误: 行 140:    
行 141:    [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
行 142:    public class views_user_index_aspx : System.Web.Mvc.ViewPage<UserViewModel>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
行 143:        
行 144:        private static bool @__initialized;
 用过的朋友指点一下,看哪里不对。谢谢

解决方案 »

  1.   

    gongsun,你看清楚我业务处理诗写在控制层了吗?
      

  2.   

    真复杂。IList<User> ulist = userService.userList(pb.CurrentPage*pb.PageSize, pb.PageSize);ViewData["ReturnList"] = ulist; //用ViewData存储的List,返回的时候最好用弱类型的Viewreturn View(); //弱类型的View
    View中:
    foreach (var u in Model.Ulist)
    {
        (User)u;//转类型
    }
      

  3.   

    foreach (var u in Model.Ulist)=>foreach (var u in Model)
      

  4.   

    或者View中:
    foreach(User u in (IList<User>)ViewData["ReturnList"]){...}