有个很绕的问题,请大家帮解决。
建立了一个母版页MasterPage.master,里面有个函数setInfo()。一个页面father.aspx应用了此母版页,在其中嵌入了一个子页面child.aspx:
<iframe frameborder="0" src="child.aspx" scrolling="no"></iframe>在child.aspx.cs中要调用MasterPage.master中的函数setInfo(),该如何调用?
建立了一个母版页MasterPage.master,里面有个函数setInfo()。一个页面father.aspx应用了此母版页,在其中嵌入了一个子页面child.aspx:
<iframe frameborder="0" src="child.aspx" scrolling="no"></iframe>在child.aspx.cs中要调用MasterPage.master中的函数setInfo(),该如何调用?
该文章转载自德仔工作室:http://www.dezai.cn/Article_Show.asp?ArticleID=30949
希望这个能对你有用
(1) iframe页面的cs中注册一段脚本:
parent.document.getElementById("btn1");
(2) father.aspx中, 摆一个按钮btn1, 在它的点击事件中,调用母版页的setInfo() 函数.
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 是什么,然后写进脚本中.