就是
a.aspx
<iframe src="b.aspx"><iframe>
想要实现在b.aspx点操作的时候,能从后台调用a.aspx里面的方法,或是触发a.aspx里在的一个事件.在网上找了很久,不知道这样能不能实现个

解决方案 »

  1.   

    window.top.iframeA.A();
    parent.document.getElementById("a").innerHTML="";
    调用cs里方法用dopostback回传方法或用ajax异步回调
      

  2.   

    A.aspx<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script>
        function method()
        {
            document.getElementById('<%=btn.ClientID %>').click();
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:Button ID="btn" runat="server" Width="0px" OnClick="btn_Click" />
        <iframe src="B.aspx"></iframe>
        </form>
    </body>
    </html>
    private void Method()
        {
            Response.Write("Method");
        }    protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void btn_Click(object sender, EventArgs e)
        {
            Response.Write("btn_Click<br>");        
            Method();
        }
      

  3.   

    B.aspx<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <input type="button" value="B.aspx不回发直接调用A.aspx中的方法" onclick="parent.method();" />
        <asp:Button ID="btn" runat="server" Text="B.aspx回发后调用A.aspx中的方法" OnClick="btn_Click" />
        </form>
    </body>
    </html>
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void btn_Click(object sender, EventArgs e)
        {
            //Response.Write("B.aspx PostBack");
            ClientScript.RegisterStartupScript(GetType(), "callParentMethod", "alert('B.aspx PostBack');parent.method();", true);
        }
      

  4.   

    dopostback也许是解决的一个方法,不过没用过