1

我已经在页面中放置了一个更新面板并且它工作正常。在那个页面中我正在加载一个转发器并且它也正常工作。但是在那个转发器中我在下拉列表中触发了一个事件“OnSelectedIndexChanged” 。使用它时页面是变得神清气爽。似乎更新面板在那里不起作用。

<asp:UpdatePanel ID="update_invest" runat="server" UpdateMode="Always">
  <ContentTemplate>
 <asp:Repeater ID="rptinvest" runat="server" OnItemDataBound="rptactions_ItemDataBound">
   <ItemTemplate>
     <td>
    <asp:DropDownList ID="ddlemployee" runat="server" OnSelectedIndexChanged="ddlEmployee_SelectedIndexChanged"
   AppendDataBoundItems="true" AutoPostBack="True">
   </asp:DropDownList>
   </td>
   </ItemTemplate>
  </asp:Repeater>

以上是代码....!!

谢谢阿尔沙德..!

4

1 回答 1

1

我认为您需要在更新面板中注册回发触发控件。在您的代码片段中,它是 ddlemployee。如果它在标记中,您可以这样做:

<Triggers>
 <asp:AsyncPostBackTrigger ControlID="ddlemployee" EventName="OnSelectedIndexChanged" />
 </Triggers>
</asp:UpdatePanel>

但是,下拉控件嵌套在中继器中,您必须从后面的代码中注册它,例如:

For Each item As RepeaterItem In rptinvest.Items

 Dim ddlemployee As DropDownList = DirectCast(item.FindControl("ddlemployee"), DropDownList)
 ScriptManager1.RegisterAsyncPostBackControl(ddlemployee)

Next

希望这对您有所帮助。有关更新面板和触发器的更多信息,请访问此处

于 2013-09-05T12:21:18.053 回答