当前位置: 代码迷 >> .NET面试 >> MVC LIST 通过 ViewData 从 控制器传 到视图 报对象强制转换为类型异常
  详细解决方案

MVC LIST 通过 ViewData 从 控制器传 到视图 报对象强制转换为类型异常

热度:370   发布时间:2016-05-02 01:08:11.0
MVC LIST 通过 ViewData 从 控制器传 到视图 报对象强制转换为类型错误
生成强类型代码如下
public List<Maticsoft.Model.Asend> DataTableToList(DataTable dt)
        {
            List<Maticsoft.Model.Asend> modelList = new List<Maticsoft.Model.Asend>();
            int rowsCount = dt.Rows.Count;
            if (rowsCount > 0)
            {
                Maticsoft.Model.Asend model;
                for (int n = 0; n < rowsCount; n++)
                {
                    model = dal.DataRowToModel(dt.Rows[n]);
                    if (model != null)
                    {
                        modelList.Add(model);
                    }
                }
            }
            return modelList;
        }
在控制器的代码如下
 public ActionResult GetString()
        {          
            Maticsoft.BLL.Asend bll = new Maticsoft.BLL.Asend();
            List<Maticsoft.Model.Asend> model = bll.GetModelList("addresser='徐海云'");
            ViewData["Asend"] = model;
            return View("GetString");
        }
我在视图的代码如下
 <div>     
      @{
          Maticsoft.Model.Asend asd=(Maticsoft.Model.Asend)ViewData["Asend"];        
      }    

报错如下
无法将类型为“System.Collections.Generic.List`1[Maticsoft.Model.Asend]”的对象强制转换为类型“Maticsoft.Model.Asend”。

这个提示我无法明白错在那里,请大家帮忙看一下,万分感谢.
------解决思路----------------------
  Maticsoft.Model.Asend asd=(Maticsoft.Model.Asend)ViewData["Asend"];        
List<Maticsoft.Model.Asend> asd=(List<Maticsoft.Model.Asend>)ViewData["Asend"];        


------解决思路----------------------
引用:
谢谢,可以了,看来传值 从控制器到视图,必须是 ViewData


你都没有发现问题的所在
你传给ViewData的是多个 
而你类型转换的时候 却说只是一个

这个科学吗?
  相关解决方案