ExtAsp.Net 后台按钮绑定弹出窗口事件,需要点击两次才能弹出窗口

来源:互联网 发布:百度大数据研究中心 编辑:程序博客网 时间:2024/04/29 05:06
 /// <summary>        /// 修改按钮事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void btnUpdate_Click(object sender, EventArgs e)        {            if (GridUser.SelectedRowIndex >= 0)            {                string strUserID = GridUser.DataKeys[GridUser.SelectedRowIndex][0].ToString();                btnUpdate.OnClientClick = Window1.GetShowReference("SysUserIframeEdit.aspx?sysUserId=" + strUserID + "&rd=" + new Random().Next(0, 1000), "修改用户");            }            else            {                Alert.ShowInParent("请先选择要修改的记录", MessageBoxIcon.Information);            }        }


经常需要后台父页面给弹出窗体的页面传值,而如果你是在服务器端Click事件中来注册该按钮的clientClick事件的,则会出现需要点击两次该按钮才会弹出窗体的问题。

解决办法如下:

 /// <summary>        /// 修改按钮事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void btnUpdate_Click(object sender, EventArgs e)        {            if (GridUser.SelectedRowIndex >= 0)            {                string strUserID = GridUser.DataKeys[GridUser.SelectedRowIndex][0].ToString();                PageContext.RegisterStartupScript(Window1.GetShowReference("SysUserIframeEdit.aspx?sysUserId=" + strUserID + "&rd=" + new Random().Next(0, 1000), "修改用户"));            }            else            {                Alert.ShowInParent("请先选择要修改的记录", MessageBoxIcon.Information);            }        }


使用PageContext来注册clientClick事件,而不是btnUpdate对象。

原创粉丝点击