在父页面(Parent.aspx 页面)中包含一个 iframe 页面(FrameChild.aspx 页面),当你需要我们需要调用 iframe 按钮事件的方法时,我们必须像这样。
在父页面的javascript方法调用如下:
<script type="text/javascript" language="javascript">
function functionName() {
document.getElementById(iframeID).contentWindow.MyIFrameFunction();
}
iframeID是frame id,MyIFrameFunction()是FrameChild.aspx中的javascript函数名,通过父页面的按钮调用functionName()方法,依次调用子页面下面的MyIFrameFunction()。 js函数。
在子页面(FrameChild.aspx)中应该包含一个函数。
<script type="text/javascript" language="javascript">
function MyIFrameFunction() {
__doPostBack('btnRenew', 'passparameter');
}
</script>
假设 FrameChild.aspx 中有一个按钮。
<asp:Button ID="btnRenew" runat="server" OnClick="btnRenew_Click" />
FrameChild.aspx 页面后面的代码。
protected void Page_Load(object sender, System.EventArgs e)
{
string target = Request["__EVENTTARGET"]; //btnRenew
string paremeter = Request["__EVENTARGUMENT"]; //passparameter
if (!string.IsNullOrEmpty(target) && !string.IsNullOrEmpty(arg))
{
btnRenew_Click(sender, e);
}
}
public void btnRenew_Click(object sender, EventArgs e) { }
上面的代码对我有用。