0

以下のコードを使用して、別のドロップダウンの選択にドロップダウンを設定しています。しかし、どういうわけか、ddlTypes で項目が選択されているときに ddlSubTypes が設定されていません。

ddlTypes の selectedindex 変更イベントで、ddlSubTypes をバインドしています。

<tr>
    <td class="style3">
        <asp:ScriptManager ID="scma" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UP1" runat="server">
            <ContentTemplate>
                <asp:DropDownList ID="ddlTypes" runat="server" Width="200px" AutoPostBack="true" OnSelectedIndexChanged="ddlTypes_SelectedIndexChanged1">
                </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
    </td>
</tr>
<tr>
    <td class="style3">
        <asp:UpdatePanel ID="UP2" runat="server">
            <ContentTemplate>
                <asp:DropDownList ID="ddlSubTypes" runat="server" Width="200px">
                </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
    </td>
</tr>



Protected Sub ddlTypes_SelectedIndexChanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTypes.SelectedIndexChanged
        Try
            'Populate schemes
            ddlSubTypes.Items.Clear()
            Dim ID As Integer = ddlTypes.SelectedValue
            Dim dt As DataTable = IterateSubtypesContents(ID)

            ddlSubTypes.DataTextField = dt.Columns("Type").ToString()
            ddlSubTypes.DataValueField = dt.Columns("ID").ToString()
            ddlSubTypes.DataSource = dt
            ddlSubTypes.DataBind()

            UP2.Update()
        Catch ex As Exception

        End Try
    End Sub
4

1 に答える 1

0

最初のドロップダウンの selectedIndexChanged イベントでトリガーされる 2 番目の更新パネルにトリガーを追加する必要があります。

<asp:UpdatePanel ID="UP2" runat="server">
  <ContentTemplate>
    <asp:DropDownList ID="ddlSubTypes" runat="server" Width="200px">
    </asp:DropDownList>
   </ContentTemplate>
   <Triggers>
     <asp:AsyncPostBackTrigger ControlID="Control That Triggers this Panel" EventName="Desired Event that triggers" />
   </Triggers>
</asp:UpdatePanel>
于 2012-08-13T07:09:40.393 に答える