【问题标题】:The Selected Index Changed is not firing已更改的选定索引未触发
【发布时间】:2014-04-02 09:23:30
【问题描述】:

已更改的选定索引未触发。下拉列表正在初始化,可以滚动到显示下一个选定索引的下一个值,但没有启用子例程的 DropDownList1_SelectedIndexChanged。

默认.aspx

<asp:DropDownList ID="DropDownList1" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true" runat="server"></asp:DropDownList>

默认.aspx.vb

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
    Dim connStr, cmdStr As String
    Dim ds As New DataSet
    connStr = "connection string works"
    Try
        cmdStr = "SELECT [idt],[col1] FROM [test];"
        Using conn As New SqlConnection(connStr)
            Using cmd As New SqlCommand(cmdStr, conn)
                conn.Open()
                cmd.ExecuteNonQuery()
                Using da As New SqlDataAdapter(cmd)
                    da.Fill(ds)
                    DropDownList1.DataSource = ds.Tables(0)
                    DropDownList1.DataTextField = "idt"
                    DropDownList1.DataValueField = "col1"
                    DropDownList1.DataBind()
                End Using
                cmd.Dispose()
                conn.Close()
                conn.Dispose()
            End Using
        End Using
    Catch ex As Exception
        TextBox1.Text = ex.Message
    End Try
    End if
End Sub
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
    Dim datetimesi As String = "01-01-2014 00:00:00"
    Dim col1si As String = "0"
    Dim col2si As String = "0"
    Dim col3si As String = "0"
    Dim connStr, cmdStr As String
    connStr = "connection string works"
    Try
        cmdStr = "SELECT [datetime],[col1],[col2],[col3] FROM [test] WHERE [idt]=@idt;"
        Using conn As New SqlConnection(connStr)
            Using cmd As New SqlCommand(cmdStr, conn)
                conn.Open()
                cmd.Parameters.AddWithValue("@idt", DropDownList1.SelectedItem.Text)
                cmd.ExecuteNonQuery()
                Using rdr = cmd.ExecuteReader()
                    While rdr.Read()
                        datetimesi = rdr(0)
                        col1si = rdr(1)
                        col2si = rdr(2)
                        col3si = rdr(3)
                    End While
                    TextBox10.Text = DropDownList1.Text
                    TextBox11.Text = datetimesi
                    TextBox12.Text = col1si
                    TextBox13.Text = col2si
                    TextBox14.Text = col3si
                End Using
                cmd.Dispose()
                conn.Close()
                conn.Dispose()
            End Using
        End Using
    Catch ex As Exception
        TextBox1.Text = "ddlSelectedIndexChanged:" & ex.Message
    End Try
End Sub

【问题讨论】:

    标签: asp.net selectedindexchanged


    【解决方案1】:

    我将 OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" 更改为 OnTextChanged="DropDownList1_TextChanged"

    Protected Sub DropDownList1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) 处理 DropDownList1.TextChanged

    它成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多