ModalPopUpExtender不适用于DropDownList

时间:2014-02-19 08:32:43

标签: c# asp.net modalpopupextender

我在Updatepanel中有MPE,mpeNew,里面有一个按钮btnClose。 它应该显示在页面上的几个下拉列表的selectedIndexChange事件。

C#:

protected void ddlCustomer_SelectedIndexChanged(object sender, EventArgs e)
{
  if(ddlCustomer.SelectedIndex==1)
   {
     ViewState["sender"] = sender; //MPE shows up only when this line's commented
     mpeNew.show();
   }
}

protected void btnClose_Click(object sender, EventArgs e)
{
   mpeNew.Hide();
   DropDownList ddl = (DropDownList)ViewState["sender"];
   ddl.SelectedIndex = 0;
}

只有在注释了viewstate声明时,Modal才会显示。但实际上需要知道哪个下拉列表打开了模态。 还尝试使用此下拉列表作为updatepanel中的触发器。 没有错误。模态不会弹出。 我哪里错了。或者还有其他方法可以得到我想要的东西。

1 个答案:

答案 0 :(得分:1)

下拉控件不可序列化,因此当它在视图状态中存储时,代码会中断。而不是保存发件人,更适合在ViewState中保存下拉列表的ID。通过ID,您始终可以在FindControl("Id")函数中找到控件。根据您的代码进行Exaple:

ViewState["sender"] = ddlControl.ID;

DropDownList ddl = (DropDownList)FindControl(ViewState["sender"]);

希望这有帮助。