加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

继——AJAX中弹出窗口连续弹出 .

发布时间:2020-12-15 21:05:55 所属栏目:百科 来源:网络整理
导读:对于前段时间提到过的“ AJAX中弹出窗口连续弹出 ”的问题,提供了一种解决方案:将弹出窗口过程在前台js中实现,即可每次都弹出相同内容窗口。 对于这个解决方案,在部署到服务器时又遇到了问题,服务器为ie6,也许不兼容弹出窗口的js,弹出窗口的内容无法

对于前段时间提到过的“AJAX中弹出窗口连续弹出 ”的问题,提供了一种解决方案:将弹出窗口过程在前台js中实现,即可每次都弹出相同内容窗口。

对于这个解决方案,在部署到服务器时又遇到了问题,服务器为ie6,也许不兼容弹出窗口的js,弹出窗口的内容无法加载。

因此开始寻求第二个解决方案:

从本质原理出发,对于同一内容窗口第二次没有弹出的原因是,后台调用弹出窗口的代码完全相同(相同方法,方法参数也相同)

如果每次后台弹出窗口代码有变化就会引起ajax刷新,因而每次都会执行后台代码

从这一解决方案出发:

将后台弹出窗口方法改为:

protected void lnkTab_Click(object sender,EventArgs e)
{
Session["childQX"] = 1;
if (id1 == "0")
{
ScriptManager.RegisterStartupScript(UpdatePanel1,GetType(),"onclick","showTab2('" + hiddPropId.Value + "')",true);
id1 = "1";
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel1,"showTab3('" + hiddPropId.Value + "')",true);
id1 = "0";
}
//AjaxPanel2.
//Refush();
}

通过切换调用不同js来弹出窗口,不同js都是相同的内容,只是赋予了不同的名字。

如此每次后台调用代码都会刷新,便可以连续弹出窗口。

此原理简化一下,用当前时间作为参数的方案,更简洁:

protected void lnkTab_Click(object sender,EventArgs e)
{
Session["childQX"] = 1;

ScriptManager.RegisterStartupScript(UpdatePanel1,"showTab2('" + hiddPropId.Value + ",'DateTime.Now')",true); id1 = "1"; }

每次调用,参数值均不同,因而导致每次都会刷新,而执行后台代码。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读