Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Asp.net 在vb.net中检查第一个下拉列表的选择索引后,我想在第二个下拉列表中添加值_Asp.net_Vb.net_Drop Down Menu - Fatal编程技术网

Asp.net 在vb.net中检查第一个下拉列表的选择索引后,我想在第二个下拉列表中添加值

Asp.net 在vb.net中检查第一个下拉列表的选择索引后,我想在第二个下拉列表中添加值,asp.net,vb.net,drop-down-menu,Asp.net,Vb.net,Drop Down Menu,基本上我有一个表单,它有两个下拉列表。在第一个下拉列表中,我选择城市类别。选择城市后,我想更新第二个下拉列表值,以对应于第一个下拉列表中选择的第一个值。我这样做过,, 这将在第一个下拉列表中添加值: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim s As String = "connection String" sqlconn = N

基本上我有一个表单,它有两个下拉列表。在第一个下拉列表中,我选择城市类别。选择城市后,我想更新第二个下拉列表值,以对应于第一个下拉列表中选择的第一个值。我这样做过,, 这将在第一个下拉列表中添加值:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim s As String = "connection String"
    sqlconn = New SqlConnection(s)


    sqlCmd = New SqlCommand("select DISTINCT City from usrRegister_aunthentication", sqlconn)
    If sqlconn.State = Data.ConnectionState.Closed Then
        sqlconn.Open()
    End If

    dataReader = sqlCmd.ExecuteReader()
    While dataReader.Read
        Citydropdown.Items.Add(dataReader("City").ToString())
    End While

    dataReader.Close()

    If sqlconn.State = Data.ConnectionState.Open Then
        sqlconn.Close()
    End If
End Sub
现在假设我选择了一个城市,它应该更新第二个下拉列表,因为我已经这样做了:

Protected Sub Citydropdown_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Citydropdown.Load
        Dim CityID As Integer = Convert.ToInt32(Citydropdown.SelectedValue.ToString())
        FillStates(CityID)

    End Sub


 Private Sub FillStates(ByVal CityID As Integer)
        Dim strConn As String = "server=.;database=Opex;integrated security=true;pooling=false;"
        Dim con As New SqlConnection(strConn)
        Dim cmd As New SqlCommand()
        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "sql statement"
        Dim objDs As New DataSet()
        Dim dAdapter As New SqlDataAdapter()
        dAdapter.SelectCommand = cmd
        con.Open()
        dAdapter.Fill(objDs)
        con.Close()
        If objDs.Tables(0).Rows.Count > 0 Then
            'HallsDropDown.DataSource = objDs.Tables(0)
            'HallsDropDown.DataTextField = "Theater_Name"
            'HallsDropDown.DataBind()
            'HallsDropDown.Items.Insert(0, "--Select--")
        Else
            Response.Write("No states found")
        End If
    End Sub
End Class
我的XML如下所示。有人能帮我从第一个下拉列表中选择索引,在第二个下拉列表中添加值吗

<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <table style="height:50px;">
    <tr>
    <td>
    <asp:Label Text="Select your City" runat="server" ID="lblcity"></asp:Label>
    </td>
    <td>
    <asp:DropDownList ID="Citydropdown"   runat="server" />
    </td>
        </tr>
    <tr>
    <td>
    <asp:label runat="server" id="lblHals" Text="Select Your Halls" ></asp:label>  
    </td>
    <td>
    <asp:DropDownList ID="HallsDropDown" runat="server" />
    </td>

    </tr>

    </table>
    </form>
</body>
</html>

无标题页

您需要打开autopostback,并告诉它当dropdownlist的选定索引更改时要执行什么:

<asp:DropDownList ID="Citydropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="Citydropdown_Load">
</asp:DropDownList>

使用这种级联的最佳方法是使用webservice绑定下拉列表,并通过javascript/jquery代码调用该webservice

<script type="text/javascript" src="JQuery/jquery-1.6.1.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {

        $("#ddlCity").change(function() {
            $("#ddlState").html("");
            var CityID = $("#ddlCity option:selected").val();

            $.getJSON('ServerResponse.aspx?CityID=' + CityID, function(states) {

                $.each(states, function() {

                    $("#ddlState").append($("<option></option>").val(this['StateCode']).html(this['StateName']));

                });
            });

        });
    });
</script>  

$(文档).ready(函数(){
$(“#ddlCity”).change(function(){
$(“#ddlState”).html(“”);
var CityID=$(“#ddlCity选项:选中”).val();
$.getJSON('ServerResponse.aspx?CityID='+CityID,函数(状态){
$.each(状态,函数(){
$(“#ddlState”).append($(“”).val(此['StateCode']).html(此['StateName']);
});
});
});
});
您可以参考的链接:

@AVD我已经更新了问题,你能帮我吗
<script type="text/javascript" src="JQuery/jquery-1.6.1.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {

        $("#ddlCity").change(function() {
            $("#ddlState").html("");
            var CityID = $("#ddlCity option:selected").val();

            $.getJSON('ServerResponse.aspx?CityID=' + CityID, function(states) {

                $.each(states, function() {

                    $("#ddlState").append($("<option></option>").val(this['StateCode']).html(this['StateName']));

                });
            });

        });
    });
</script>