有个很绕的问题,请大家帮解决。
建立了一个母版页MasterPage.master,里面有个函数setInfo()。一个页面father.aspx应用了此母版页,在其中嵌入了一个子页面child.aspx:
<iframe frameborder="0" src="child.aspx" scrolling="no"></iframe>在child.aspx.cs中要调用MasterPage.master中的函数setInfo(),该如何调用?

解决方案 »

  1.   

    母版页与内容页面之间的通信
    该文章转载自德仔工作室:http://www.dezai.cn/Article_Show.asp?ArticleID=30949
    希望这个能对你有用
      

  2.   

    这其实不是调用母版页的问题,这根本就是两个不同页面间的通信问题,用 Ajax 在前台做处理吧。
      

  3.   

    http://moosdau.blog.163.com/blog/static/43711282008810115021132/
      

  4.   

    确实有点绕,所以我就给你想了个比较绕的解决办法:
    (1) iframe页面的cs中注册一段脚本:
    parent.document.getElementById("btn1");
    (2) father.aspx中, 摆一个按钮btn1, 在它的点击事件中,调用母版页的setInfo() 函数.
      

  5.   

    奇怪,刚发的贴子怎么就不让编辑了, 脚本少写了一点:
    parent.document.getElementById("btn1").click();另外,需要注意的是,从母版页继承的页面,客户端ID 和服务器端ID 是不一样的,
    建议的做法是father.aspx 打开子页面时,把这个按钮的客户端ID 当作参数传过去:
    string url="something.aspx?btnID=" + btn1.ClientID;//server side
    var url="something.aspx?btnID=<%=btn1.ClientID %>"); //client side
    如果不能传, 可以打开页面的源文件,看看它的客户端ID 是什么,然后写进脚本中.