VB.NET编程语言实现方式比较灵活,能帮助开发人员提高编程效率。我们在这里可以通过对VB.NET访问Iframe的实现技巧,来体验一下这门语言的功能,并从中了解到它为开发人员带来的好处。
最近在做一个邮件系统!运用了toolbar+iframe布局!其中toolbar有这样两个按钮:删除邮件和清空邮件夹!同时,在邮件夹里面也有这样两个按钮!其实.这里涉及到的问题就是JS访问iframe内button控件,并执行button的click事件的问题!由于我运用的大部分是服务器控件,而且,toolbar一般比iframe早加载.所以出现JS访问不到控件的结果!起初我想动态加载toolbar控件,但考虑到上面的按钮比较复杂,所以我就另外想了个办法,在页面末尾加了个两钮:delbt1跟clearbt1,我们只能执行这两个按钮的事件就能访问到iframe里面的内容了!!
废话少说!把代码共享给大家吧!!希望大家有用:
VB.NET访问Iframe前台页面:
- < %@ Page Language="VB" AutoEventWireup="false"
CodeFile="mailindex.aspx.vb" Inherits="mailindex" %>- < %@ Register Assembly="Microsoft.Web.UI.WebControls,
Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35"- Namespace="Microsoft.Web.UI.WebControls" TagPrefix="iewc" %>
- < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//
EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- < html xmlns="http://www.w3.org/1999/xhtml" >
- < head runat="server">
- < title>供應商郵件管理< /title>
- < link href ="body.css" rel ="Stylesheet" type ="text/css" />
- < script language ="javascript" type ="text/javascript" >
触发iframe中删除按钮的事件
- function get_delbt()
- {
- var info=window.confirm('確定要刪除該郵件嗎?');
- if (info==true)
- {
- //这句很关键,通过找到mainframe,运用dom访问其中的控件btdel
(删除按钮),执行服务器操作click- document.getElementById("mainframe").contentWindow.document.
getElementById("btdel").click();- }
- }
触发iframe中清空按钮的事件
- function get_delallbt()
- {
- var info=window.confirm('確定要清空該郵件夾嗎?');
- if (info==true)
- {
- document.getElementById("mainframe").contentWindow.document.
getElementById("btalldel").click();- }
- }
- < /script>
- < /head>
- < body>
- < form id="form1" runat="server">
- < !--#include virtual="head.inc"-->
- < div align ="center" >
- < table width ="750px" background="images/back.gif">
- < thead >
- < tr>
- < th colspan ="5" align ="left" >
- < iewc:Toolbar ID="Toolbar1" Width ="400px"
DefaultStyle ="background-image:url(images/BackgroundT.bmp)"
ToolTip ="工具欄" OnButtonClick ="toolbarbt_click" runat="server">- < iewc:ToolbarButton ID="inputbt"
ImageUrl="TreeLineImages/inbox.bmp" Text ="接收郵件"/>- < iewc:ToolbarButton ID="newbt"
ImageUrl="TreeLineImages/unreader.bmp" Text ="撰寫郵件" />- < iewc:ToolbarSeparator />
- < iewc:ToolbarButton ID="delbt"
ImageUrl="TreeLineImages/unout.bmp" Text= "刪除郵件" />- < iewc:ToolbarSeparator />
- < iewc:ToolbarButton ID="clearbt"
ImageUrl="TreeLineImages/reback.bmp" Text ="清空郵件" />- < iewc:ToolbarSeparator />
- < iewc:ToolbarButton ID="infobt"
ImageUrl="TreeLineImages/hold.bmp" Text= "信息統計" />- < iewc:ToolbarSeparator />
- < iewc:ToolbarButton ID="addressbt"
ImageUrl="TreeLineImages/mailbox.bmp" Text ="地址薄" />- < /iewc:Toolbar>
- < /th>
- < /tr>
- < /thead>
- < tbody >
- < tr>
- < td colspan="4" valign ="top" rowspan="2">
- < iframe id="mainframe" name ="mainframe" runat ="server"
scrolling="auto" width ="600px" height ="400px" >< /iframe>- < /td>
- < /tr>
- < tr>
- < /tr>
- < /tbody>
- < tfoot >
- < tr>
- < /tr>
- < /tfoot>
- < /table>
- < /div>
- < input id="delbt1" type="button" runat ="server" value="delete" />
- < input id="clearbt1" type="button" runat ="server" value="clear" />
- < /form>
- < /body>
- < /html>
- Sub toolbarbt_click(ByVal sender As Object, ByVal e As EventArgs)
- Select Case sender.id.ToString
- Case "inputbt"
- inputmail()
- Return
- Case "newbt"
- Response.Write("< script>javascript:window.showModelessDialog
('sendmail.aspx',window,'dialogWidth:800px;resizable:yes;');
< /script>")- Return
- Case "delbt"
- Me.delbt1_ServerClick(delbt1, New EventArgs) '触发delbt1的click事件
- Case "clearbt"
- Me.clearbt1_ServerClick(clearbt1, New EventArgs)
- '触发clearbt1的click事件,下面红色部分
- Case "infobt"
- Response.Write("< script>javascript:window.showModelessDialog
('mailinfo.aspx',window,'dialogWidth:800px;resizable:yes;');
< /script>")- Return
- Case "addressbt"
- Response.Write("< script>javascript:window.showModelessDialog
('mailbook.aspx',window,'dialogWidth:800px;resizable:yes;');
< /script>")- Return
- Case Else
- Response.Write("請選擇按鈕")
- End Select
- End Sub
- Protected Sub delbt1_ServerClick(ByVal sender As Object,
ByVal e As System.EventArgs) Handles delbt1.ServerClick- '调用JS方法:get_delbt().执行iframe中删除按钮的事件!
- Page.ClientScript.RegisterStartupScript(GetType(String), "",
"< script>javascript:get_delbt();< /script")- End Sub
- Protected Sub clearbt1_ServerClick(ByVal sender As Object,
ByVal e As System.EventArgs) Handles clearbt1.ServerClick- '调用JS方法:get_delallbt().执行iframe中清空按钮的事件!
- Page.ClientScript.RegisterStartupScript(GetType(String), "",
"< script>javascript:get_delallbt();< /script")- End Sub
VB.NET访问Iframe相关代码示例就为大家介绍到这里。
【编辑推荐】