请大家帮我分析如下一段代码,谢了...

wendou123 2003-12-21 11:57:15
我的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没有执行,但这是为什么呢?
...全文
22 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiroki513 2003-12-22
  • 打赏
  • 举报
回复
我也觉得是事件丢失了
双击ddCompany按钮重新加载事件。
wincore 2003-12-22
  • 打赏
  • 举报
回复
使用F5进去看看,到底在哪里执行了

极有可能是事件注册的地方丢失了。
在这个函数中
private void InitializeComponent()
niwalker 2003-12-22
  • 打赏
  • 举报
回复
估计是VS.NET IDE又对你的代码施加了神秘般的魔法,你的ddCompany_SelectedIndexChanged事件注册丢失了,检查的方法是在页面上选定你的ddCompany控件,在属性窗切换到事件编辑,看看它的SelectdIndexChanged的事件是否还在?如果为空,你必须重新从那个下拉列表绑上你的ddCompany_SelectedIndexChanged.
Good luck!

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧