首页 > 解决方案 > 有没有办法在其他功能之前执行更新面板的更新

问题描述

我正在编写一个 asp.net 网站,所以我想在一个下拉列表 textchanged 上更新面板并执行一个函数,该函数从数据库中获取数据并用这些数据更新面板,所有这些都在 js 中,但我的面板每次都会更新很好,但第一次只有一次相关信息。

在面板更新之前第二次填充数据,所以当它更新时它是空的。

 protected void DropDownList1_TextChanged(object sender, EventArgs e)
        {
            currentPickArea = DropDownList1.SelectedItem.Text;


            UpdatePanel4.Update();


            if (currentPickArea != DROPLIST_PICK_AREA_START_TEXT)
            {

                LoadPickPlacesBySelectedPickArea();
                if (currentPickArea == "QA_Zone")
                {
                    component.processGetLocationByLocationId(currentPickArea);
                }
            }


        }

初始视图 初始视图

使用正确信息正确更新面板的视图 使用正确信息正确更新面板的视图

查看我何时尝试进行第二次更新,因此没有从数据库中获取信息,因为面板在数据库更改后更新 查看我何时尝试进行第二次更新,因此没有从数据库中获取信息,因为面板在数据库更改后更新

我想在更新完成后首先执行更新,或者我知道它将在其余部分之前完成,我让程序继续。

标签: javascriptc#asp.net.net

解决方案


据我所知,TextChanged是一个内部事件,不应该使用。将其更改为,SelectedIndexChanged因为这是确定下拉选择何时更改的正确事件。您也可以尝试将下拉菜单的AutoPostBack属性设置为false和。EnableViewStatetrue


推荐阅读