在我的 asp.net 应用程序中,我有一个包含两个 iframe 的页面,并且在此 iframe 中显示的主页面包含一个按钮。当这个按钮被点击时,它会调用一个 javascript 函数,该函数包含 URL 的一部分,并在父窗口中调用一个 javascript 函数。当父函数被命中时,它应该将 iframe 的 src 更改为不同的页面 - 这不会发生。主 iframe 的 ID 为 ContentIframe,侧面的 iframe 的 ID 为 LeftIframe。当它被击中时 - 左侧 iframe src 被更改为空,这是因为左侧显示不显示以前存在的内容。发生更改内容框架的 iframe src 的调用,甚至加载代码隐藏(我可以通过在后面代码中的页面加载中放置跟踪点来判断) - 但页面永远不会显示在 iframe 中,我们单击的带有原始按钮的上一页仍在显示。有谁知道为什么会发生这种情况?这是我的代码
按钮
<asp:Button ID="btnEditClient" onclientclick="editClient();" runat="server" Text="Edit Client Info" />
editClient javascript 函数
function editClient() {
var location = window.location.href;
var idindex = location.indexOf("clientid");
idindex = idindex + 9;
var id = location.slice(idindex, location.length);
window.parent.redir('client', id);
}
redir父javascript函数
function redir(type, id) {
if (type = 'client') {
document.getElementById('ContentIframe').src = "NewCustomer.aspx?clientid=" + id;
document.getElementById('LeftIframe').src = "";
}
}
如果我要在上面的 LeftIframe src 更改下方添加以下行
document.getElementById('ContentIframe').disabled = true;
ContentIframe 根本不会显示。同样如上所述,NewCustomer.aspx 页面的页面加载被命中,我可以通过使用断点来判断。再次感谢!
编辑 - 在调用更改 src 之后,查看开发人员工具,这是 iframe 中的表单,仍然说前面的页面项目 - 不确定这是否有帮助 - 也许 method=post 可能与这个?
<form id="form1" action="NewClientSummary.aspx?clientid=13" method="post">