你这样的写法是否有问题?
我一般的写法是:
DropDownList ddlTemp;
ddlTemp = (DropDownList)objReader.FindControl("控件ID");你的objReader是不是一个Reader控件?如果是,这样的语法是否有问题?因为Reader不包含DropDownList控件信息

解决方案 »

  1.   

    如果楼主上面searchDepartment()方法代码全的话,语句有错误
      

  2.   

    直接把DropDownList做为服务器端控件不就可以了?
      

  3.   

    我的Reader是一个DataReader不是控件。那我怎么得到这个控件?
    下面的是我写的类。我就想调用一个WEB页面的控件。
    using System;
    using System.Data.SqlClient;
    using System.Web.UI.WebControls;
    namespace OA
    {
    /// <summary>
    /// searchPerson 的摘要说明。
    /// 此类为PERSON基类,用于查询出PERSON表中的数据导入查询页面中
    /// </summary>
    public class searchPerson
    {
    protected System.Web.UI.WebControls.DropDownList DDLDepartment;
    public virtual string searchDepartment()
    {   string strSelect="SELECT P_部门 from B_用户表";
     string[] PDepartment; //定义一个返回部门的数据组
    int i=0;
    //控制AcceptedReport.aspx的DDl_SendDepart控件
    //
    // TODO: 在此处添加构造函数逻辑
    //
    try
    {
    SqlConnection objCnt=new SqlConnection("Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=OA;Data Source=TONG-PSP7B3DOLN");
    objCnt.Open();
    SqlCommand objCmd=new SqlCommand(strSelect,objCnt);
    SqlDataReader objReader=null;
    objReader=objCmd.ExecuteReader();
    DDLDepartment=(DropDownList)FindControl(DDLSendDepart);
    while(objReader.Read())
    {
    DDLDepartment.Items.Add(objReader["P_部门"].ToString()); //添加部门

    }
    objReader.Close();
    objCnt.Close();
    }
    catch(Exception e)
    {
    Console.WriteLine("下拉菜单出错。"+e.ToString());
    }


    }
                     
    }
    }
      

  4.   

    我的Reader是一个DataReader不是控件。那我怎么得到这个控件?
    下面的是我写的类。我就想调用一个WEB页面的控件。
    using System;
    using System.Data.SqlClient;
    using System.Web.UI.WebControls;
    namespace OA
    {
    /// <summary>
    /// searchPerson 的摘要说明。
    /// 此类为PERSON基类,用于查询出PERSON表中的数据导入查询页面中
    /// </summary>
    public class searchPerson
    {
    protected System.Web.UI.WebControls.DropDownList DDLDepartment;
    public virtual string searchDepartment()
    {   string strSelect="SELECT P_部门 from B_用户表";
     string[] PDepartment; //定义一个返回部门的数据组
    int i=0;
    //控制AcceptedReport.aspx的DDl_SendDepart控件
    //
    // TODO: 在此处添加构造函数逻辑
    //
    try
    {
    SqlConnection objCnt=new SqlConnection("Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=OA;Data Source=TONG-PSP7B3DOLN");
    objCnt.Open();
    SqlCommand objCmd=new SqlCommand(strSelect,objCnt);
    SqlDataReader objReader=null;
    objReader=objCmd.ExecuteReader();
    DDLDepartment=(DropDownList)FindControl(DDLSendDepart);
    while(objReader.Read())
    {
    DDLDepartment.Items.Add(objReader["P_部门"].ToString()); //添加部门

    }
    objReader.Close();
    objCnt.Close();
    }
    catch(Exception e)
    {
    Console.WriteLine("下拉菜单出错。"+e.ToString());
    }


    }
                     
    }
    }  这个东西很简单,只需要继承就可以了,