我正在编程一个asp.net网站,所以我想更改文本的下拉列表以更新面板并执行一个函数,该函数从DB中获取数据并使用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);
}
}
}
查看何时尝试进行第二次更新,以便没有信息从数据库获取,因为面板在数据库更改后会更新
我想在更新完成后首先执行更新,或者我知道它将在其余部分完成之前让程序继续执行。
答案 0 :(得分:1)
据我所知,TextChanged
是内部事件,不应使用。将其更改为SelectedIndexChanged
,因为这是确定下拉选项何时更改的正确事件。您还可以尝试将下拉列表的AutoPostBack
属性设置为false
,将EnableViewState
设置为true
。