我有一個下拉列表「服務器」,它在表單加載事件期間由下面的代碼填充。連接字符串中的數據庫具有使用下面的代碼填充而沒有任何問題的服務器名稱列表。DropDownList的初始值應爲空
Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Populate_Server()
End If
End Sub
Public Sub Populate_Server()
Dim query As String = "select ServerName, ServerId from Server_Names"
BindDropDownList(DropDownList_Server, query, "ServerName", "ServerId", "")
End Sub
接下來,我有另一個下拉列表「實例」。要填充到此ddlist中的數據位於另一個服務器/數據庫中。因此,根據先前的選擇(ddlist_server)我填充數據如下圖所示代碼:
Public Sub Populate_Instance()
Dim State As String
Dim ConnectString As String
Dim SelectSQL As String
Srv = DropDownList_Instance.SelectedItem.Text
DropDownList_Instance.Items.Clear()
ConnectString = "Data Source=" & Srv & ";Initial Catalog=master;Integrated Security=true"
Using Con As New SqlConnection(ConnectString)
Con.Open()
SelectSQL = "Select * from Instance;"
Dim com As SqlCommand = New SqlCommand(SelectSQL, Con)
Dim dr As SqlDataReader = com.ExecuteReader()
Do While dr.Read = True
DropDownList_Database.Items.Add(dr.GetString(0))
Loop
'DropDownList_Database.DataBind()
End Using
End Sub
實例ddlist被成功地填充,但第一個值,在表中最早出現的記錄,但我的要求是這樣的爲空。是的原因,我想要做的服務器端驗證顯示在下面的代碼:
<asp:RequiredFieldValidator ID="req1" runat="server" Style="top: 85px;
left: 378px; position: absolute; height: 20px; width: 160px" Font- Bold="True" Font-Names="Trebuchet M S" Font-Size="Small"
ControlToValidate="DropDownList_Instance" validationgroup="Info"
ErrorMessage="Select an Instance" InitialValue=0>
</asp:RequiredFieldValidator>
我需要在製作的第一項空白ddl_Instance
或驗證ddl_Instance
只是做'DropDownList_Database.Items.Add( 「」)'之前你'待辦事項While'loop – Pikoh
感謝您的時間Pikoh,即工作。但是,當ddlist條目爲空並且按鈕單擊後,ddl_database驗證不會顯示「選擇數據庫」消息。請指教。 – Frank
將InitialValue =「IdOfBlankItemAdded」添加到所需的字段驗證程序 –