下面的这个例子实现了在服务器端得到可编辑Iframe的HTML源代码非典功能。代码很简单,这里疾苦不多解释了。代码如下:
GetIframeHtml.axpx
<%@ Page Language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" validateRequest=false AutoEventWireup="false"
Codebehind="GetIframeHtml.<a href="http://dev.21tx.com/web/asp/" target="_blank">ASP</a>x.vb" Inherits="aspx<a href="http://dev.21tx.com/web/" target="_blank">Web</a>.GetIframeHtml"%>
<HTML>
<body>
<form id="frmMain" method="post" runat="server">
<iframe id="ifrHTML" name="ifrHTML"></iframe>
<br>
<asp:Button id="cmdSend" runat="server" Text=" 提 交 "></asp:Button>
<input type="hidden" name="hidValue">
</form>
<script>
ifrHTML.document.designMode = "on";
</script>
</body>
</HTML>
GetIframeHtml.aspx.vb
Public Class GetIframeHtml
Inherits System.Web.UI.Page
Protected WithEvents cmdSend As System.Web.UI.WebControls.Button
Protected WithEvents ifrHTML As System.Web.UI.HtmlControls.HtmlGenericControl
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
cmdSend.Attributes.Add("onClick", "document.frmMain.hidValue.value" + _
" = ifrHTML.document.body.innerHTML;")
End Sub
Private Sub cmdSubmit_Click(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles cmdSend.Click
Dim strValue As String
strValue = Request.Form("hidValue")
Response.Write(Server.HtmlDecode(strValue))
End Sub
End Class