【问题标题】:Dropdown findbyvalue not working下拉findbyvalue不起作用
【发布时间】:2017-03-17 02:52:08
【问题描述】:

我目前在 modal dialog 中有 2 个下拉菜单,因此用于更新面板,1 个用于 users,另一个用于 group用户所属。

            <p class="text-justify">
                  <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                <ContentTemplate>
            <table class="table">
                <col width="150">
                <col width="800">
                <tr>
                    <td>Username</td>
                    <td>
                        <asp:DropDownList ID="ddlUpdateUsername" runat="server" class="form-control" OnSelectedIndexChanged="ddlUpdateUsername_SelectedIndexChanged" AutoPostBack="true">
                            <asp:ListItem> -- Select a user -- </asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>

                <tr>
                    <td>Group</td>
                    <td>
                        <asp:DropDownList ID="ddlUpdateGroup" runat="server" class="form-control">
                            <asp:ListItem> -- Select a group -- </asp:ListItem>
                            <asp:ListItem Value="Billing">Billing</asp:ListItem>
                            <asp:ListItem Value="Commercial">Commercial</asp:ListItem>
                            <asp:ListItem Value="Service">Service Assurance</asp:ListItem>
                        </asp:DropDownList>
                              </tr>
                    </ContentTemplate>
                </asp:UpdatePanel>

在后面的代码中,我有一种方法可以在下拉选择的索引更改时获取用户数据。

    Protected Sub ddlUpdateUsername_SelectedIndexChanged(sender As Object, e As EventArgs)

        updateUserID = ddlUpdateUsername.SelectedValue
        getDetails(ddlUpdateUsername.SelectedValue)

        ddlUpdateGroup.Items.FindByValue(updateGroupID.Trim()).Selected = True

   End Sub

getDetails方法如下。

    Public Sub getDetails(ByVal userID As String)

    Dim myConnection As MySqlConnection
    Dim myDataAdapter As MySqlDataAdapter
    Dim myDataset As DataSet

    Dim strSQL As String

    myConnection = New MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("for_Read").ConnectionString)

    myConnection.Close()
    myConnection.Open()

    strSQL = "SELECT `group_details`.`group_description` FROM `group_details` INNER JOIN `permission_details` ON `group_details`.`group_ID` = `permission_details`.`group_ID` WHERE `permission_details`.`user_ID` = '" & userID & "'"

    myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)
    myDataset = New DataSet()
    myDataAdapter.Fill(myDataset, "permission_details")

    updateGroupID = myDataset.Tables("permission_details").Rows(0)(0).ToString()

End Sub

但是,FindByValue 不起作用。有什么线索吗?

【问题讨论】:

    标签: mysql asp.net vb.net modal-dialog dropdown


    【解决方案1】:

    它总是对我有用。试试这个

    If Not ddlUpdateGroup.Items.FindByValue(updateGroupID.Trim()) Is Nothing Then
    
        ddlUpdateGroup.SelectedValue = ddlUpdateGroup.Items.FindByValue(updateGroupID.Trim()).Value
    
    End If
    

    例子:

    【讨论】:

    • 嗨@Rajan,谢谢您的回复。但是,.selectedValue = .....FindByValue 背后的基本原理是什么?
    猜你喜欢
    • 1970-01-01
    • 2013-01-21
    • 2021-12-19
    • 1970-01-01
    • 2023-03-03
    • 2017-05-25
    • 2014-02-15
    • 1970-01-01
    相关资源
    最近更新 更多