我有一个IFrame
加载多个页面,在页面提交C#
后面的代码后,使用Server.Transfer将IFrames
视图移动到我的成功页面。
当我检查onload事件的src
时,它始终显示原始页面的src
路径,而不是我的成功页面。
这是我查看src
:
var arr = $('#IFrameDam').attr('src').split('.');
var src = arr[0].toString() + "." + arr[1].toString();
if (src == "GISuccess.aspx" || src == "GIFailed.aspx" || src == "GIConstruction.aspx") {
//do something
}
修改
使用var action = $('#IFrameDam')[0].contentWindow.location;
仍然没有得到我GISuccess.aspx
答案 0 :(得分:1)
src
的 iframe
属性是iframe
中显示的页面之外的属性。 iframe
内的导航不会改变它。如果iframe
和父页面位于同一个域中,您可以在它们之间建立javascript通信并获取iframe.contentWindow.location
。
<强>更新强>
关于Server.Transfer
。当告知浏览器窗口从URL获取内容(例如html页面)时,它与该URL处的服务器联系以获得响应内容。对于浏览器,返回的html对应于该URL。当您使用Server.Transfer
时,您传输的页面的html输出是响应内容,无论后一页面的实际(真实)URL是什么。使用Response.Redirect
时,它会返回浏览器,告诉它从Redirect
中指定的新网址获取内容。