出错信息:
无法将类型为“System.Int32”的对象强制转换为类型“System.Collections.Generic.IEnumerable`1[System.Web.Mvc.SelectListItem]”。代码信息:
view:
<%: Html.DropDownList("sltSearchCondition", (IEnumerable<SelectListItem>)ViewData["sltSearchCondition"])%>controller:
public ActionResult Index(int? id)

    ViewData["sltSearchCondition"] = sltSearchCondition();
}//dropdownlist searchCondition
private List<SelectListItem> sltSearchCondition()
{
     List<SelectListItem> _Items = new List<SelectListItem>();     _Items.Add(new SelectListItem() { Text = "用户名", Value = "1" });
     _Items.Add(new SelectListItem() { Text = "门票号", Value = "2" });     return _Items;
}
问题:
现在对mvc里的控件的使用方法真的是有点晕啊.
为什么还会出错呢?其他地方也一样的使用方法就没有错啊????????为什么?为什么?为什么?

解决方案 »

  1.   

    (IEnumerable<SelectListItem>)ViewData["sltSearchCondition"]这个不对吧
      

  2.   

    ViewData["sltSearchCondition"] = sltSearchCondition();
    在这里下断点。
      

  3.   

    //dropdownlist searchCondition
    private List<SelectListItem> sltSearchCondition()
    {
      List<SelectListItem> _Items = new List<SelectListItem>();  _Items.Add(new SelectListItem() { Text = "用户名", Value = "1" });
      _Items.Add(new SelectListItem() { Text = "门票号", Value = "2" });  return _Items;
    }
    方法不对 应该返回IEnumerable<SelectListItem>类型
      

  4.   

    没有问题,类型转换 应该不会报错。
    你的 Index action就这个样子的吗?代码没贴全?