AJAX中弹出窗口连续弹出

页面风格为:

左侧AJAX容器中为功能树,右侧AJAX容器中为功能树某一结点的详细信息

右侧AJAX容器中包含某一连接,用来打开弹出窗口,进一步显示功能树某一结点的附属内容。

如图:

图中右侧部分链接“该测试点步骤信息”的点击事件为:

ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "onclick", "showTab('" + hiddPropId.Value + "')", true);

打开弹出页面,其中hiddPropId为隐藏控件,其value为功能树目前点击结点的ID值。

遇到问题:该链接第一次点击可以弹出,但继续点击则不可弹出,(可能是因为AJAX容器中没有刷新的缘故,可以通过刷新方式解决,但可能会影响目前页面及功能树展开结点状态,因此未尝试刷新解决方案。)

对于该问题采用解决方案:

点击链接不到后台代码中实现打开弹出窗口功能,因为AJAX容器没有更新就不会调用后台,因此应尝试将打开弹出窗口过程放在前台完成:

即链接中添加调用前台事件:OnClientClick='showTab()'

js事件为:

function showTab() {
        //document.getElementById("lnkTab").click();
        var id = document.getElementById('hiddPropId').value;
        pop = new Popup({ contentType: 1, isReloadOnClose: false, width: 600, height: 500 });
        pop.setContent("title", "测试点步骤");
        pop.setContent("contentUrl", "TestTabManage.aspx?ItemID=" + id);
        pop.build();
        pop.show();
        //window.showModalDialog('TestTabManage.aspx?ItemID=' + ID, '', 'dialogHeight:500px;dialogWidth:600px;center:yes;left:0;toolbar:no;location:yes;menubar:no;scrollbars:yes; resizable:no; status:no');
    }

在js事件中获取'hiddPropId'的value即功能树结点的ID值,打开弹出窗口。

其他问题:

在OnClientClick='showTab(<%= ID %>)',ID在后台设置为功能树结点的ID值,调用js方法时直接使用该值,但调试结果:并没有获取到实际的ID值,而是将(<%= ID %>)作为字符串常量传了过去。

未解决问题:为什么没有解析(<%= ID %>)?

你可能感兴趣的:(.net,winform,c#)