Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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
C# ASP.NET AJAX UpdatePanel下拉列表问题_C#_Asp.net_Ajax - Fatal编程技术网

C# ASP.NET AJAX UpdatePanel下拉列表问题

C# ASP.NET AJAX UpdatePanel下拉列表问题,c#,asp.net,ajax,C#,Asp.net,Ajax,我有两个下拉列表(DDL),下面是一个asp.net ajax updatepanel,我想根据2个DDL中的选择更新/刷新它。 第二个DDL的内容取决于在第一个DDL中选择的内容 问题是,如果我在第一个DDL中选择了某个内容,它就不会填充第二个DDL,但是如果没有ajax updatepanel,它就可以完美地工作。如有可能,请协助。下面是代码。谢谢 <asp:DropDownList runat="server" ID="ddlPrimary" AutoPostBack="true"

我有两个下拉列表(DDL),下面是一个asp.net ajax updatepanel,我想根据2个DDL中的选择更新/刷新它。 第二个DDL的内容取决于在第一个DDL中选择的内容

问题是,如果我在第一个DDL中选择了某个内容,它就不会填充第二个DDL,但是如果没有ajax updatepanel,它就可以完美地工作。如有可能,请协助。下面是代码。谢谢

<asp:DropDownList runat="server" ID="ddlPrimary" AutoPostBack="true" OnSelectedIndexChanged="ddlPrimary_SelectedIndexChanged"></asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlSecondary" AutoPostBack="true" OnSelectedIndexChanged="ddlSecondary_SelectedIndexChanged"></asp:DropDownList>

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up" runat="server">
    <ContentTemplate>
         <!-- asp.net repeater with table -->
         <tr>
              <td>
                  <asp:Label runat="server" ID="lblProdCode" Text='<%# Eval("ProdCode") %>'></asp:Label>
              </td>
              <td>
                  <asp:Label runat="server" ID="lblProdDesc" Text='<%# Eval("ProdDesc") %>'></asp:Label>
          </tr>
    </ContentTemplate>
    <Triggers>
                <asp:AsyncPostBackTrigger ControlID="ddlPrimary" EventName="SelectedIndexChanged" />
                <asp:AsyncPostBackTrigger ControlID="ddlSecondary" EventName="SelectedIndexChanged" />
     </Triggers>
 </asp:UpdatePanel> 

如果您将2个DDL移动到UpdatePanel中并删除触发器标记(如下所示),就可以了:

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up" runat="server">
<ContentTemplate>
     <!-- asp.net repeater with table -->
<asp:DropDownList runat="server" ID="ddlPrimary" AutoPostBack="true" OnSelectedIndexChanged="ddlPrimary_SelectedIndexChanged"></asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlSecondary" AutoPostBack="true" OnSelectedIndexChanged="ddlSecondary_SelectedIndexChanged"></asp:DropDownList>

     <tr>
          <td>
              <asp:Label runat="server" ID="lblProdCode" Text='<%# Eval("ProdCode") %>'></asp:Label>
          </td>
          <td>
              <asp:Label runat="server" ID="lblProdDesc" Text='<%# Eval("ProdDesc") %>'></asp:Label>
      </tr>
</ContentTemplate>   


在“内容模板”内放置下拉列表,更新面板外的所有内容在回发期间不会更新,-edit-设置部分回发时为真。@greko。谢谢,我试试看。谢谢,我试试看。我忘了提到我有两个引导模式弹出窗口,当点击中继器内的链接按钮时打开。现在它们不再打开了,所以我会把它们放在里面。