C# 嵌套UpdatePanel中的下拉列表
我对这方面还不太熟悉,我正在使用asp.net和Visual Studio。我有一个系统,人们可以从数据库下载一些数据。为此,我想要两个下拉列表。一个用于邮政编码,另一个用于监视器ID 邮政编码下拉列表是数据绑定的,以显示所有不同的邮政编码 监视器id下拉列表是数据绑定的,用于显示第一个下拉列表的邮政编码中包含的所有监视器id 我想根据邮政编码列表中选择的内容更改MonitorID列表。我读到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是一个很好的方法。我已经浏览了论坛帖子,感觉我很快就能让它正常工作了,但是有些东西
<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-我的回答有助于解决您的问题吗?还是你仍然困在那里,需要更多的帮助?