在控制层的action中取得一个产品类别的列表,然后见列表的数据显示到页面上:
看看下面的代码错在哪里:
           // get assetcategory
            List<bgs_AssetCategory> assetCategory_all = bgs_assetrepository.AssetCategory_FindAll();
            ViewData["assetCategory_all"] = new SelectList(assetCategory_all, "ID", "Name");
            return View();
SelectList(assetCategory_all, "ID", "Name");的后两个参数是什么意思(我网上拷来的)页面代码: <% SelectList assetCategory_all = ViewData["assetCategory_all"] as SelectList; %>
 <%= Html.DropDownList("ACName", assetCategory_all)%>
异常:There is no ViewData item with the key 'ACName' of type 'IEnumerable<SelectListItem>'
为什么??
DropDownList的参数是代表什么意义

解决方案 »

  1.   

    DropDownList的参数前面的是Key,后面的是Value
      

  2.   

    你是在一个页面 post 过来的吗!?
     如果是的 在那个post action 中加这段代码   List <bgs_AssetCategory>   assetCategory_all   =   bgs_assetrepository.AssetCategory_FindAll(); 
                            ViewData[ "assetCategory_all "]   =   new   SelectList(assetCategory_all,   "ID ",   "Name "); 
      

  3.   

    看看assetCategory_all是否是null或者是空的
      

  4.   

    我已经在那个action加了上面那段代码了,而且也在显示页面里as 成SelectList,但还是报了There is no   ViewData item with the key 'ACName ' of type 'IEnumerable <SelectListItem> ' 
    这个关键字“ACName”和上面代码中的SelectList(assetCategory_all,"ID","Name")有什么必然联系,还是一定要和数据库中的表字段相同的
      

  5.   

     <%=   Html.DropDownList( "ACName ",   assetCategory_all)%> ACName  这是什么? 哪儿来的!?
     
      

  6.   

     
    <%=  Html.DropDownList( "ACName ",  assetCategory_all)%>换成
     
    <%= Html.DropDownList("assetCategory")%>
      

  7.   


      <%SelectList list = ViewData["TeamList"] as SelectList;%>
      <%= Html.DropDownList("TeamList",list)%>想这样也可以 但是你要保证 TeamList 就是 前面action中viewdata["TeamList"] 一致
      

  8.   

    直接用dictionary添加string string值和文本
      

  9.   

    欢迎各位加入ASP.NET MVC框架超级群!让我们共同学习、进步!QQ群号:40985466 非常乐意为大家提供一个良好的交流平台!