在DropDownList1的改变事件中写...

解决方案 »

  1.   

    参考:
     Private Sub dList38_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dList38.SelectedIndexChanged
            Dim SEN As String = dList38.SelectedItem.Text
            Dim cnConn As New SqlConnection(ConfigurationSettings.AppSettings("ZS_Link"))
            Dim SQLselect As String        SQLselect = "SELECT ShipNameCH  FROM ShipInfo WHERE ShipNameEN = @SEN ORDER BY ShipNameCH ASC"        '查询
            Dim ds As DataSet
            Dim cmdSelect As New SqlDataAdapter(SQLselect, cnConn)
            cmdSelect.SelectCommand.Parameters.Add(New SqlParameter("@SEN", SEN))
            '显示查询结果
            ds = New DataSet
            cmdSelect.Fill(ds, "ShipInfo")        dList39.DataSource = ds
            dList39.DataTextField = "ShipNameCH"
            dList39.DataBind()
        End Sub
      

  2.   

    Private Sub ddl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl1.SelectedIndexChanged
            If ddl1.SelectedValue =  Then
                ddl2.SelectedValue = 
            End If
        End Subddl1的AutoPostBack設為True
      

  3.   

    动态生成的DropDownList,事件是要自己定制的,你们提供的方法都行不通
      

  4.   

    要通过js或者vbs来做 如果每次选择刷新一次页面,速度就太慢了
      

  5.   

    本示例在运行时将文本框和按钮添加到 Web 窗体页。它还将事件处理程序动态绑定到按钮的 Click 事件。该处理程序会显示动态生成的文本框的值。这些控件被添加到 Panel Web 服务器控件中,该控件是一个占位符。在面板中使用分行符(HTML <BR> 元素)来分隔这些控件,它们被添加到使用 LiteralControl 控件的面板中。示例
    private void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
            AddControls();
    }protected override void LoadViewState(object savedState)
    {
        base.LoadViewState(savedState);
        if (ViewState["controsladded"] == null)
        AddControls();
    }private void AddControls()
    {
        TextBox dynamictextbox = new TextBox();
        dynamictextbox.Text = "(Enter some text)";
        dynamictextbox.ID = "dynamictextbox";
        Button dynamicbutton = new Button();
        dynamicbutton.Click += new System.EventHandler(dynamicbutton_Click);
        dynamicbutton.Text = "Dynamic Button";
        Panel1.Controls.Add(dynamictextbox);
        Panel1.Controls.Add(new LiteralControl("<BR>"));
        Panel1.Controls.Add(new LiteralControl("<BR>"));
        Panel1.Controls.Add(dynamicbutton);
        ViewState["controlsadded"] = true;
    }private void dynamicbutton_Click(Object sender, System.EventArgs e)
    {
        TextBox tb = new TextBox();
        tb = (TextBox) (Panel1.FindControl("dynamictextbox"));
        Label1.Text = tb.Text;
    }
      

  6.   

    dynamicbutton.Click += new System.EventHandler(dynamicbutton_Click);添加事件是这样的,再结合二楼的,差不多了
      

  7.   

    先动态创建DropDownList并绑定数据
    DropDownList dpl;
    DropDownList dpl2;dpl=new DropDownList();
    dpl2=new DropDownList();
    dpl.ID="dpl";
    dpl.Items.Add(new ListItem("aaa","1"));
    dpl.Items.Add(new ListItem("bbb","2"));
    dpl.Items.Add(new ListItem("ccc","3"));
    dpl.AutoPostBack=true;为DropDownList添加处理事件
    dpl.SelectedIndexChanged+=new System.EventHandler(this.dpl_SelectedIndexChanged);编写事件处理代码
    private void dpl_SelectedIndexChanged(object sender,System.EventArgs e)
    {
        dpl2.Items.Add(new ListItem("ddd","1"));
        ................
    }
      

  8.   

    dpl.SelectedIndexChanged+=new System.EventHandler(this.dpl_SelectedIndexChanged);这句用vb怎么写?
      

  9.   

    use AddHandler, for example:
    <script language="VB" runat="server">
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
      dim ddl as new DropDownList
      ddl.ID = "ddl1"
      ddl.AutoPostBack = true
      AddHandler ddl.SelectedIndexChanged, AddressOf SelectionChanged
      form1.Controls.Add(ddl)  dim ddl2 as new DropDownList
      ddl2.ID = "ddl2"  form1.Controls.Add(ddl2)
      if not IsPostBack then
     dim i as integer
        for i = 1 to 10
    ddl.Items.Add(new ListItem(i & ""))
       next SelectionChanged(ddl, EventArgs.Empty)  end ifEnd SubSub SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
      dim ddl as DropDownList = CType(sender, DropDownList)
      dim s as String = ddl.SelectedItem.Value  dim ddl2 as DropDownList = CType(form1.FindControl("ddl2"), DropDownList)
      ddl2.Items.Clear()
      dim i as integer
      for i = 1 to 10
    ddl2.Items.Add(new ListItem(s & i,s & i))
      next
     
    End Sub</script>
    <form id="form1" runat=server>
    <asp:Button id=btn runat=server Text=Submit />
    </form>
      

  10.   

    思归老大:
    你提供的代码完全没问题,但我根据我的实际情况,把你的代码放到我的程序里,选择DropDownList1后,屏幕一遍空白。我知道是动态控件不能重新绑定的原因,但不知如何处理。
    Protected WithEvents Panel1 As System.Web.UI.WebControls.Panel
    Dim test1 As New test1()
    Dim ddl_1 As New DropDownList()Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack() Then
                calltest()
            Else
                If Not (Request.Form(ddl_1.UniqueID) Is Nothing) Then
                    calltest()
                End If
            End If
        End Sub    Sub calltest()
            test1.test(Panel1)
            ddl_1 = Panel1.FindControl("ddl1")
            AddHandler ddl_1.SelectedIndexChanged, AddressOf SelectionChanged
        End Sub    Sub SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
            Dim ddl As DropDownList = CType(sender, DropDownList)
            Dim s As String = ddl.SelectedItem.Value        Dim ddl2 As DropDownList = CType(Panel1.FindControl("ddl2"), DropDownList)
            ddl2.Items.Clear()
            Dim i As Integer
            For i = 1 To 10
                ddl2.Items.Add(New ListItem(s & i, s & i))
            Next
        End Subtest1.vb文件:
    Public Class test1
        Public Sub test(ByRef panel1 As Panel)
            Dim ddl As New DropDownList()
            ddl.ID = "ddl1"
            ddl.AutoPostBack = True
            panel1.Controls.Add(ddl)        Dim ddl2 As New DropDownList()
            ddl2.ID = "ddl2"        panel1.Controls.Add(ddl2)
            Dim i As Integer
            For i = 1 To 10
                ddl.Items.Add(New ListItem(i & ""))
            Next
        End Sub
    End Class
      

  11.   

    先设置DropDownList1 .AutoPostBack=true;
    然后在DropDownList1.selectIndexChanged中写要绑定到DropDownList2有事件