Asp.net 在pageload事件上填充dropdownlist

Asp.net 在pageload事件上填充dropdownlist,asp.net,sql,vb.net,Asp.net,Sql,Vb.net,我不明白这为什么不起作用 我有一个名为ddlRoomName的下拉列表和一个名为roomlist的SQL表 当我在SQL编辑器中运行SQL命令时,它工作得很好。但是当我加载页面时,房间不会加载 我是不是漏掉了什么明显的东西 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Page.IsPostBack Then ddlRoomN

我不明白这为什么不起作用

我有一个名为ddlRoomName的下拉列表和一个名为roomlist的SQL表

当我在SQL编辑器中运行SQL命令时,它工作得很好。但是当我加载页面时,房间不会加载

我是不是漏掉了什么明显的东西

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then

        ddlRoomName.Items.Clear()
        ddlRoomName.Items.Add(New ListItem("--Select Room--", ""))
        ddlRoomName.AppendDataBoundItems = True

        Dim strConnString As String = ConfigurationManager.ConnectionStrings("a_cisco").ConnectionString
        Dim strQuery As String = "Select * from roomlist"
        Dim con As New SqlConnection(strConnString)
        Dim cmd As New SqlCommand()

        cmd.CommandType = CommandType.Text
        cmd.CommandText = strQuery
        cmd.Connection = con

        Try
            con.Open()
            ddlRoomName.DataSource = cmd.ExecuteReader()
            ddlRoomName.DataTextField = "RoomName"
            ddlRoomName.DataValueField = "intRoom"
            ddlRoomName.DataBind()

        Catch ex As Exception
            Throw ex
        Finally
            con.Close()

        End Try
    End If
End Sub

您只在回邮中加载它们。这真的是你想要的吗?也许你想要:

If Not Page.IsPostBack Then

End If

(然后,
ViewState
会将
DropDownList
中的项目保留在回发中)

哇,谢谢,我想我需要一些睡眠,因为我在看一些非常明显的东西。你有什么例外吗?你查过你的列名了吗?