请大家帮我分析如下一段代码,谢了...
我的CreateAccount.aspx中有两个dropdownlist控件:ddCompany(autopostback属性设为true)和ddDepartment。以及一个Label1,代码如下:
public class CreateAccount : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList ddCompany;
protected System.Web.UI.WebControls.DropDownList ddDepartment;
protected System.Web.UI.WebControls.Label Label1;
protected DataTable mdtDepartment;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{SqlConnection conn=new SqlConnection();
conn.ConnectionString="data source=YY;initial catalog=ets;integrated security=SSPI;persist security info=False;workstation id=YY";
conn.Open();
string sql="select * from company";
SqlDataReader drCompany;
SqlCommand cmd=new SqlCommand(sql,conn);
drCompany=cmd.ExecuteReader();
ddCompany.DataSource=drCompany;
ddCompany.DataTextField="vCompanyName";
ddCompany.DataValueField="nCompanyId";
ddCompany.DataBind();
}
}
private void LoadDepartment()
{
string cnnstr="data source=YY;initial catalog=ets;integrated security=SSPI;persist security info=False;workstation id=YY";
SqlDataAdapter sdaDepartment=new SqlDataAdapter("select * from department where ncompanyId="+ddCompany.SelectedItem.Value,cnnstr);
mdtDepartment.Clear();
sdaDepartment.Fill(mdtDepartment);
ddDepartment.DataSource=mdtDepartment;
ddDepartment.DataTextField="vDepartment";
ddDepartment.DataValueField="nCompanyId";
ddDepartment.DataBind();
private void ddCompany_SelectedIndexChanged(object sender, System.EventArgs e)
{
Label1.Text="hello";
LoadDepartment();
}
}
我的问题为:按道理当我运行时点击ddCompany中选项时,label1的text应变为hello,ddDepartment中也应有数据,但两者都没有,所以我的分析是事件ddCompany_SelectedIndexChanged没有执行,但这是为什么呢?