Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net DropDownList的初始值应为空_Vb.net - Fatal编程技术网

Vb.net DropDownList的初始值应为空

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

我有一个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
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”添加到所需的字段,这样就行了