C# 嵌套UpdatePanel中的下拉列表

C# 嵌套UpdatePanel中的下拉列表,c#,asp.net,drop-down-menu,triggers,updatepanel,C#,Asp.net,Drop Down Menu,Triggers,Updatepanel,我对这方面还不太熟悉,我正在使用asp.net和Visual Studio。我有一个系统,人们可以从数据库下载一些数据。为此,我想要两个下拉列表。一个用于邮政编码,另一个用于监视器ID 邮政编码下拉列表是数据绑定的,以显示所有不同的邮政编码 监视器id下拉列表是数据绑定的,用于显示第一个下拉列表的邮政编码中包含的所有监视器id 我想根据邮政编码列表中选择的内容更改MonitorID列表。我读到UpdatePanel是一个很好的方法。我已经浏览了论坛帖子,感觉我很快就能让它正常工作了,但是有些东西

我对这方面还不太熟悉,我正在使用asp.net和Visual Studio。我有一个系统,人们可以从数据库下载一些数据。为此,我想要两个下拉列表。一个用于邮政编码,另一个用于监视器ID

邮政编码下拉列表是数据绑定的,以显示所有不同的邮政编码 监视器id下拉列表是数据绑定的,用于显示第一个下拉列表的邮政编码中包含的所有监视器id

我想根据邮政编码列表中选择的内容更改MonitorID列表。我读到UpdatePanel是一个很好的方法。我已经浏览了论坛帖子,感觉我很快就能让它正常工作了,但是有些东西连接不好,我不知道是什么。下面是我的代码:

<form id="rawDataForm" runat="server">
                <asp:ScriptManager ID="RawDataScriptManager" runat="server" EnablePageMethods="True">
                </asp:ScriptManager>

                <asp:UpdatePanel ID="Outter_Zip" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                    <ContentTemplate>
                        <asp:DropDownList ID="DropDownListZip" runat="server" DataSourceID="DistinctZip" DataTextField="Zip" DataValueField="Zip" AutoPostBack="True">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="DistinctZip" runat="server" ConnectionString="<%$ ConnectionStrings:VOCMSConnectionString %>" SelectCommand="SELECT DISTINCT [Zip] FROM [Monitor]"></asp:SqlDataSource>
                        <asp:UpdatePanel ID="Inner_Monitor" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:DropDownList ID="DropDownListMonitor" runat="server" AutoPostBack="True" DataSourceID="MonitorFromZip" DataTextField="MonitorID" DataValueField="MonitorID">
                                </asp:DropDownList>
                                <asp:SqlDataSource ID="MonitorFromZip" runat="server" ConnectionString="<%$ ConnectionStrings:VOCMSConnectionString %>" SelectCommand="SELECT [MonitorID] FROM [Monitor] WHERE ([Zip] = @Zip)">
                                    <SelectParameters>
                                        <asp:FormParameter DefaultValue="97601" FormField="DropDownListZip" Name="Zip" Type="String" />
                                    </SelectParameters>
                                </asp:SqlDataSource>
                            </ContentTemplate>
                            <Triggers>

                                <asp:AsyncPostBackTrigger ControlID="DropDownListZip" EventName="SelectedIndexChanged" />
                            </Triggers>
                        </asp:UpdatePanel>
                    </ContentTemplate>
                </asp:UpdatePanel>


需要正确设置哪些其他设置?跟回邮有关吗?当DropDownListZip selectedindex更改时,内部监视器更新面板上的触发器设置为asyncpostback。

我会说完全删除内部更新面板:

<form id="rawDataForm" runat="server">
    <asp:ScriptManager ID="RawDataScriptManager" runat="server" EnablePageMethods="True">
    </asp:ScriptManager>

    <asp:UpdatePanel ID="Outter_Zip" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:DropDownList ID="DropDownListZip" runat="server" DataSourceID="DistinctZip" 
                DataTextField="Zip" DataValueField="Zip" AutoPostBack="True">
            </asp:DropDownList>
            <asp:SqlDataSource ID="DistinctZip" runat="server" 
                ConnectionString="<%$ ConnectionStrings:VOCMSConnectionString %>" 
                SelectCommand="SELECT DISTINCT [Zip] FROM [Monitor]">
            </asp:SqlDataSource>

            <asp:DropDownList ID="DropDownListMonitor" runat="server" AutoPostBack="True" 
                DataSourceID="MonitorFromZip" DataTextField="MonitorID" DataValueField="MonitorID">
            </asp:DropDownList>
            <asp:SqlDataSource ID="MonitorFromZip" runat="server" 
                ConnectionString="<%$ ConnectionStrings:VOCMSConnectionString %>" 
                SelectCommand="SELECT [MonitorID] FROM [Monitor] WHERE ([Zip] = @Zip)">
                <SelectParameters>
                    <asp:ControlParameter DefaultValue="97601" ControlID="DropDownListZip" 
                        Name="Zip" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="DropDownListZip" EventName="SelectedIndexChanged" />
        </Triggers>
    </asp:UpdatePanel>

它不需要在那里-主要是因为您永远不需要独立于OutUpdatePanel刷新内部UpdatePanel


我还将FormParameter更改为ControlParameter,因为我认为这在这种情况下更有用。

嗨,JClark4321-我的回答有助于解决您的问题吗?还是你仍然困在那里,需要更多的帮助?