我在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中的触发器。 没有错误。模态不会弹出。 我哪里错了。或者还有其他方法可以得到我想要的东西。
答案 0 :(得分:1)
下拉控件不可序列化,因此当它在视图状态中存储时,代码会中断。而不是保存发件人,更适合在ViewState中保存下拉列表的ID。通过ID,您始终可以在FindControl("Id")
函数中找到控件。根据您的代码进行Exaple:
ViewState["sender"] = ddlControl.ID;
DropDownList ddl = (DropDownList)FindControl(ViewState["sender"]);
希望这有帮助。