先记录下需求:
页面A有一个dropdownlist控件,该dropdownlist控件是自定义控件,它的SelectedIndexChanged事件要执行的代码封装到控件里,
AutoPostBack属性默认为true,在它的旁边有一个button,点击button后弹出子窗口B,在子窗口B内筛选完内容后关闭子窗口B返回父窗口A,
使dropdownlist中与筛选结果相同的option选中,然后根据选中的option给父页面A绑定数据。
解决办法:
在页面A中加一个button,利用它的click事件执行绑定数据的代码。代码如下:
页面A:
<asp:Button ID="Btn" runat="server" OnClick="Btn_Click" Text="按钮" Style="display: none" />
protected void Btn_Click(object sender, EventArgs e)
{
ddl_SelectedIndexChanged(sender, e);
}
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
;//有用,不能删!这里写数据绑定的代码,我的例子中代码被封装到控件里了,这里没有代码,但这个方法必须有。
}
页面B:
window.opener.document.all("btn").click();
window.close();