Vb.net DropDownList的初始值应为空
我有一个Dropdownlist“Servers”,它在表单加载事件期间由下面的代码填充。连接字符串中的数据库有一个服务器名称列表,使用下面的代码填充这些名称时不会出现任何问题Vb.net DropDownList的初始值应为空,vb.net,Vb.net,我有一个Dropdownlist“Servers”,它在表单加载事件期间由下面的代码填充。连接字符串中的数据库有一个服务器名称列表,使用下面的代码填充这些名称时不会出现任何问题 Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Populate_Server() End If En
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
<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>
实例ddlist已成功填充,但第一个值是表中的第一条记录,但我的要求是该值为空。原因是,我想进行服务器端验证,如下代码所示:
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
<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>
如Pikoh所述,在ddl_实例
中第一个条目为空或验证ddl_实例
时,我需要您的帮助
DropDownList_Database.Items.Add("", "0")
添加空白项。
然后更改reuqired字段验证器,使其通过添加来知道初始值InitialValue="0"
只需执行
DropDownList\u Database.Items。在do While
loop之前添加(“”)
,谢谢你的时间,Pikoh,这很有效。但当ddlist条目为空且单击按钮后,ddl_数据库验证不会显示“选择数据库”消息。请给出建议。将InitialValue=“IDOFBLANKITEMADTED”添加到所需的字段,这样就行了