我有一个vb.net服务器端功能,我需要从iframe调用。
功能如下:
Sub ChangeView(sender As Object, e As EventArgs)
If MultiView1.ActiveViewIndex = 0 Then
MultiView1.SetActiveView(View2)
ElseIf MultiView1.ActiveViewIndex = 1 Then
MultiView1.SetActiveView(View3)
ElseIf MultiView1.ActiveViewIndex = 2 Then
MultiView1.SetActiveView(View1)
End If
End Sub
包含多视图和iframe的正文:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SM1" runat="server" />
<iframe src="Page/index.html" width="100%" height="650px" scrolling="no" frameborder="0"></iframe>
<asp:UpdatePanel ID="UP1" runat="server">
<ContentTemplate>
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="View1" runat="server">
This is View1.
</asp:View>
<asp:View ID="View2" runat="server">
This is View2.
</asp:View>
<asp:View ID="View3" runat="server">
This is View3.
</asp:View>
</asp:MultiView>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
iframe来源:
<nav>
<ul id="nav">
<li><a onserverclick="ChangeView" runat="server">Home</a></li>
<li><a href="#">About</a>
<ul>
<li><a href="#">Message</a></li>
<li><a href="#">Mission, Visions, Goals</a></li>
</ul>
</li>
</ul>
</nav>
免责声明:我已经为此工作了三天,虽然它可能很简单,但我正在努力解决这个问题。
答案 0 :(得分:0)
很抱歉,没有移动到.net 4.5但是不熟悉onserverclick ...但是你通过点击iframe中的超链接来调用ChangeView - 并期望在包含iframe的页面中调用一个函数?
在您的iframe页面中,代码是否已编译?可以在父页面上“看到”MultiView1控件吗?我希望当你点击iframe中的超链接时,你必须按照以下方式运行一些javascript:
window.parent.document.getElementById('somebutton').click();
并在父页面上有一个不可见的按钮,其click事件调用ChangeView();