DropdownList重置在提交按钮上的Updatepanel中不起作用

时间:2010-10-07 08:03:28

标签: asp.net .net ajax drop-down-menu updatepanel

我有一个位于updatepanel的下拉列表。我必须通过JavaScript调用客户端事件的下拉列表,调用updatepanel的__dopostback并调用其load事件。

问题是,当我提交表单时,updatepanel_Load事件也会再次执行,并再次重置DropDownLIst,导致Dropdown中的selectedValue丢失。

<asp:UpdatePanel  ID="UpdatePanel3" runat="server" OnLoad="UpdatePanel3_Load" UpdateMode="Conditional">

   <ContentTemplate>


       <asp:DropDownList ID="ddlItems" runat="server" CssClass="dropdown">                  
       </asp:DropDownList>                 

   </ContentTemplate>
</asp:UpdatePanel>

在页面上加载此下拉列表为空....没有填充它的功能。

现在的问题是,当我通过加载UPatepanel填充下拉列表时,UPdatepanel加载事件也会在我提交页面时执行。实际上,JavaScript的解决方案是由于一个表和选择表行项目,它从我的updatepanel的__dopostback填充DropDownList。

我有一个打开弹出窗口的按钮,弹出窗口包含一个表,当客户端从该表中选择一个项目并关闭该弹出窗口然后我填充我的下拉列表(在父窗口或开启者页面中通过Ajax,Updatepanel的加载)进一步的选择。所以dropdown数据绑定取决于表输入。

2 个答案:

答案 0 :(得分:2)

你的页面加载怎么样?如果要在页面加载中加载ddl,则每次单击都会加载项目。使用;

If Not Page.IsPostBack then

答案 1 :(得分:1)

我必须用javascript处理它。因此,我在隐藏字段中的onchange事件上的DropDownList上保存所选值,并从该隐藏字段中保存,因为在保存事件下拉列表时会重置并丢失所选项目。

因为我观察到当我点击保存按钮时使用的回调事件也在按钮点击事件之前调用。因此,根据我的情况,它会重置Dropdown。