Repeater内部的下拉框仅返回默认值

本文关键字:返回 默认值 内部 Repeater | 更新日期: 2023-09-27 18:19:38

我在中有带下拉功能的中继器

<ItemTemplate>
       <asp:DropDownList runat="server" ID="ddl_PostponeTime" >                                          
       </asp:DropDownList>
</ItemTemplate>

当我用链接按钮启动命令事件,并试图通过中继器项目编号获取和定位下拉列表时

     ddl.selecteditem.value

我无法获取所选的值,只有第一个(也是默认值)值出现。也许这与UpdatePanel有关?还有其他想法吗?

Repeater内部的下拉框仅返回默认值

无论在哪里绑定DropDownList,都要确保检查Page.IsPostBack == false。否则,您总是会得到初始的SelectedValue,因为ASP.NET正在帮助重新加载整个DropDownList

是的,您需要使用UpdatePanel。你需要这样的东西:

<asp:UpdatePanel ID="TheUpdatePanel" runat="server"
 UpdateMode="Conditional">
 <ContentTemplate>
 //your controls...
 </ContentTemplate>
 <Triggers>
 <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
 </Triggers>
</asp:UpdatePanel>

在下拉菜单中,将"自动回发"设置为true。