我有两个页面index.aspx和open.aspx
****************************************
在index.aspx中有三个控件datagrid (ID: dgadmin)、linkbutton (ID:btnfresh) 和button (ID:ok)
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{ btnfresh.Attributes.Add("onfocus", "javascript:__doPostBack('btnfresh','');");
ok.Attributes.Add("onclick","javascript:window.showModalDialog("open.aspx",window.document.all)");
}
}
private void btnfresh_Click(object sender, System.EventArgs e)
{
this.dgtoBind(); //对datagrid进行绑定
}
************************************************
在open.aspx中有一个按钮close
private void close_Click(object sender, System.EventArgs e)
{
Response.Write("<script language=\"JavaScript\">");
Response.Write("window.dialogArguments.btnfresh.focus();"); //使index.aspx中的btnfresh 获得焦点
Response.Write("window.close();");
Response.Write("</script>");
}
************************************************
以上实现的功能是:
点击ok按钮弹出open.aspx窗口,当点击关闭窗口时使index.aspx中的btnfresh 获得焦点,并触发btnfresh的单击事件。
出现的问题:当我关闭open.aspx时,也使btnfresh获得了焦点。但是btnfresh的单击事件执行了两次,这是为什么?