文件:Dzxx.aspx<%@ Page language="c#" Codebehind="Dzxx.aspx.cs" AutoEventWireup="false" Inherits="Asp.Dzxx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Dzxx</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<table height="20" cellSpacing="0" cellPadding="0" width="100%" bgColor="#ffceee" border="0">
<tr>
<th vAlign="middle" align="center">
<select id="list_shi" runat="server" style="Width:100pt" align ="middle" onchange="list_shi_onchange">
</select>
<select id="list_qu" style="WIDTH: 100pt" align="middle" runat="server">
</select>
<select id="list_jiedao" style="WIDTH: 100pt" align="middle" runat="server">
</select>
<select id="list_lou" style="WIDTH: 100pt" align="middle" runat="server">
</select>
</th>
</tr>
</table>
</form>
</body>
</HTML>文件:Dzxx.aspx.cspublic class Dzxx : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlSelect list_shi;
protected System.Web.UI.HtmlControls.HtmlSelect list_qu;
protected System.Web.UI.HtmlControls.HtmlSelect list_jiedao;
protected System.Web.UI.HtmlControls.HtmlSelect list_lou;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CDcdm dzxx=new CDcdm();
list_shi.DataSource=dzxx.GetShi();
list_shi.DataBind();
} private void list_shi_onchange(object sender, System.EventArgs e)
{
CDcdm dzxx=new CDcdm();
list_qu.DataSource=dzxx.Getqu(list_shi.Value);
list_qu.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{   
this.Load += new System.EventHandler(this.Page_Load); }
#endregion }
}
编译没错,运行时IE提示:list_shi_onchange未定义

解决方案 »

  1.   

    private void InitializeComponent()
    {   
    this.Load += new System.EventHandler(this.Page_Load);
    this.list_shi.onchange += new System.EventHandler(this.list_shi_onchange);//加上这句
    }
      

  2.   

    this.list_shi.onchange += new System.EventHandler(this.list_shi_onchange);//加上这句
    委托丢失了
      

  3.   

    <select id="list_shi" runat="server" style="Width:100pt" align ="middle" onchange="list_shi_onchange">
    去掉onchange="list_shi_onchange"然后
    private void InitializeComponent()
    {   
    this.Load += new System.EventHandler(this.Page_Load);
     this.list_shi.ServerChange += new System.EventHandler(this.list_shi_onchange); }
      

  4.   

    刚试了下,还是不行。select中没onchange的定义,如果换成serverchange事件又不能根据list_shi的内容给list_qu添加item.书的有例子和这个大同小异,不过也提示出错。极度郁闷中
      

  5.   

    private void this.list_shi_onchange);//这里private 用 public  or  protected
      

  6.   

    this.list_shi.onchange += new System.EventHandler(this.list_shi_onchange)
    委托机制
      

  7.   

    问题依旧,还是没有解决。
    private void InitializeComponent()
    {   
    this.Load += new System.EventHandler(this.Page_Load);
     this.list_shi.ServerChange += new System.EventHandler(this.list_shi_onchange);
    在这儿没有onchange定义。