На родительской странице (страница Parent.aspx) содержится одна страница iframe (страница FrameChild.aspx), когда вам нужно вызвать метод события кнопки iframe, тогда мы должны следовать следующим образом.
На родительской странице вызов метода javascript выглядит так:
<script type="text/javascript" language="javascript">
function functionName() {
document.getElementById(iframeID).contentWindow.MyIFrameFunction();
}
iframeID - это идентификатор кадра, MyIFrameFunction () - это имя функции javascript в FrameChild.aspx, и он вызывает метод 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) { }
Приведенный выше код работает для меня.