无法将类型“MyAriticket.Model.CityInfo”隐式转换为“System.Collections.Generic.IList<MyAriticket.Model.CityInfo>”。存在一个显式转换(是否缺少强制转换?)数据访问层  
        //根据ID查询地区信息
        public static CityInfo GetByCityId(int id)
        {
            string sql = " select * from CityInfo where CityId = '" + id + "'";
            SqlDataReader reader = DBHelper.GetReader(sql);
            if (reader.Read())
            {
                CityInfo item = new CityInfo();
                item.CityId = Convert.ToInt32(reader["CityId"]);
                item.CityName = Convert.ToString(reader["CityName"]);
                item.ProvinceId = Convert.ToString(reader["ProvinceId"]);
                reader.Close();
                return item;
            }
            else
            {
                reader.Close();
                return null;
            }
        }业务逻辑层
       //根据ID查询地区信息
        public static CityInfo GetByCityId(int id)
        {
            return CityInfoService.GetByCityId(id);
        }

表示层
    //查询
    protected void BtnGet_Click(object sender, EventArgs e)
    {
        ////出发地
        int id = Convert.ToInt32(this.ddlFromCity.SelectedValue);
        IList<CityInfo> item = CityInfoManager.GetByCityId(id);
    }
那位帮我看看

解决方案 »

  1.   

    IList<CityInfo> item = CityInfoManager.GetByCityId(id);改成CityInfo item = CityInfoManager.GetByCityId(id);
      

  2.   

    IList<CityInfo> item = CityInfoManager.GetByCityId(id);明明得到的是一个城市的信息,却放到一个城市集合里?
      

  3.   

    CityInfo item = (CityInfo)CityInfoManager.GetByCityId(id);
      

  4.   

    不是   那个数据访问层发错了
    “System.Collections.Generic.IList<MyAriticket.Model.CityInfo>”隐式转换为“System.Collections.Generic.IList<CityInfo>”。存在一个显式转换(是否缺少强制转换?) 数据访问层
    //根据ProvinceId查询地区信息
            public static IList<CityInfo> GetCityInfoById(int id)
            {
                IList<CityInfo> list = new List<CityInfo>();
                string sql = " select * from CityInfo where ProvinceId = '" + id + "'";
                DataTable table = DBHelper.GetDataSet(sql);
                foreach (DataRow row in table.Rows)
            {
                    CityInfo item = new CityInfo();
                    item.CityId = Convert.ToInt32(row["CityId"]);
                    item.CityName = Convert.ToString(row["CityName"]);
                    item.ProvinceId = Convert.ToString(row["ProvinceId"]);
                    list.Add(item);
                }
                return list;
            }

    业务逻辑层
    //根据ID查询地区信息
            public static IList<CityInfo> GetCityInfoById(int id)
            {
                return CityInfoService.GetCityInfoById(id);
            }
    表示层
     //出发地
        protected void ddlFromProvinceInfo_SelectedIndexChanged(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(this.ddlFromProvinceInfo.SelectedValue);
            IList<CityInfo> list = CityInfoManager.GetCityInfoById(id);
            this.ddlFromCity.DataSource = list;
            this.ddlFromCity.DataBind();
        }
      

  5.   

    无法将类型“MyAriticket.Model.CityInfo”隐式转换为“CityInfo”
    数据访问层   
      //根据ID查询地区信息
      public static CityInfo GetByCityId(int id)
      {
      string sql = " select * from CityInfo where CityId = '" + id + "'";
      SqlDataReader reader = DBHelper.GetReader(sql);
      if (reader.Read())
      {
      CityInfo item = new CityInfo();
      item.CityId = Convert.ToInt32(reader["CityId"]);
      item.CityName = Convert.ToString(reader["CityName"]);
      item.ProvinceId = Convert.ToString(reader["ProvinceId"]);
      reader.Close();
      return item;
      }
      else
      {
      reader.Close();
      return null;
      }
      }业务逻辑层
      //根据ID查询地区信息
      public static CityInfo GetByCityId(int id)
      {
      return CityInfoService.GetByCityId(id);
      }表示层
      //查询
      protected void BtnGet_Click(object sender, EventArgs e)
      {
      ////出发地
       int ids = Convert.ToInt32(this.ddlToCity.SelectedValue);
            CityInfo num =  CityInfoManager.GetByCityId(ids); 
     }
    这个也不好用了
      

  6.   

    MyAriticket.Model.CityInfo
    CityInfo这两个有什么区别?你定义了两种CityInfo?分别右键点这个类,查看定义看看这哪儿
      

  7.   

    没有  我就定义了一种CityInfo
    他说"MyAriticket.Model.CityInfo"是IList<CityInfo>这里的
    "CityInfo"是CityInfoManager.GetByCityId(ids);  的返回值类型
      

  8.   

    IList<MyAriticket.Model.CityInfo> list = CityInfoManager.GetCityInfoById(id);MyAriticket.Model.CityInfo num = CityInfoManager.GetByCityId(ids);  
      

  9.   

    如果他提示
    “System.Collections.Generic.IList<MyAriticket.Model.CityInfo>”隐式转换为“System.Collections.Generic.IList<CityInfo>”。存在一个显式转换(是否缺少强制转换?) 
    而不是类型没定义,
    那么你这儿我还是怀疑定义了两个CityInfo了,用自动生成代码的工具或者linq to sql一类的东西么?