2012-08-13 90 views
0

我使用下面的代码来填充另一个下拉列表的选择下拉列表。 但不知何故,当在ddlTypes中选择一个项目时ddlSubTypes没有被填充Dropdown not binding内部Ajax更新面板

在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 
+0

为什么你放置了两个分开的更新面板?如果可能,不要在​​标签中放置整个

在更新面板中。 – 2012-08-13 07:06:06

+0

@WaqarJanjua是的,我先做了。我在单个更新面板中都有下拉菜单。但它也没有工作。 – Anuya 2012-08-13 07:08:10

+0

ok试试这个:在第二个更新面板(UP2)中放置一个asynpostbacktrigger,并将其控件ID设置为ddlTypes,并且不要在后面的代码中调用UP2.Update方法。 – 2012-08-13 07:08:50

回答

0

你应该触发添加到被第一个下拉的SelectedIndexChanged事件引发了第二次更新面板。

<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> 
+0

我得到这个错误:在UpdatePanel'UP2'中的触发器的关联控件'ddlTypes'上找不到名为'ddlTypes_SelectedIndexChanged1'的事件。 – Anuya 2012-08-13 07:16:32

+0

那么你必须创建事件服务器端。现在触发器找不到处理服务器端的事件。 – 2012-08-13 07:17:54

+0

创建活动!!!我只是把我的第一个下拉列表中的selectedindexchange事件名称放到第二个dropdwon的EvenName上。错了吗?在您的代码页面中有 – Anuya 2012-08-13 07:20:45