c# .net 编写 HTML 编辑器的核心技巧 by shawl.qiu

    技术2022-05-11  66

    c# .net 编写 HTML 编辑器的核心技巧 by shawl.qiu

    说明: 之前我写过一个 纯 js 的 HTML 编辑器 sqEditor. 这里: http://blog.csdn.net/btbtd/archive/2007/01/16/1484070.aspx那时是在使用 asp/vbs, asp/js 的脚本语言.现在俺需要自己的 .net 版 HTML 编辑器, 其实不难写, 不外乎与 iframe 的数据读取, 然后再加个 submit 的 EventHandler至于其他的操作, 跟我上次写的 纯 JS HTML 编辑器 没多大区别.广告时间, sqEditor for .net 不日推出. 目录:1. x.aspx 2. ac/sqEditor.ascx shawl.qiu2007-02-28 http://blog.csdn.net/btbtd 内容:1. x.aspx <%@ Page Language="C#AutoEventWireup="True" %> <%@ Reference Control="ac/sqEditor.ascx" %> <script runat="server">  void Page_Load(Object s, EventArgs e)  {   Control sqEditor = LoadControl("ac/sqEditor.ascx");   sqEditorPlaceHolder.Controls.Add(sqEditor);  } // end Page_Load </script> <!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> <meta http-equiv="Content-Typecontent="text/html; charset=utf-8" /> <title>shawl.qiu template</title> </head> <body>  <form runat="server">   <asp:PlaceHolder id=sqEditorPlaceHolder runat=server     />  </form> </body> </html>   2. ac/sqEditor.ascx <%@ Control Language="C#AutoEventWireup="TrueclassName="sqEditor" %> <script runat="server">  void Page_Load(Object s, EventArgs e)  {   edSubmit.Attributes["onclick"] =     "return fSetInnerHtml('"+ifm.ClientID+"','"+t.ClientID+"')";      edSubmit.Click += new EventHandler(submit);  } // end Page_Load   private void submit(Object s, EventArgs e)  {   Response.Write("<li/>~~~~~~~~"+t.Text);  } </script> <style type="text/css"> /* <![CDATA[ */  .dspHd {display:none!important;} /* ]]> */ </style> <script type="text/javascript"> //<![CDATA[  onload=function()  {   fIntiIframe("<% Response.Write(ifm.ClientID); %>", "temp");  }   function fIntiIframe(sId, sTempContentId)  {   try{    var ifmWin=document.getElementById(sId).contentWindow;    var ifmDcu=ifmWin.document;     var sCt=document.getElementById(sTempContentId)    if(sCt!=nullsCt=sCt.innerHTML;        ifmDcu.designMode="on";    ifmDcu.contentEditable=true;    ifmDcu.open();    if(!sCt) ifmDcu.write('-------- '); else ifmDcu.write(sCt);    ifmDcu.close();     } catch(e){}  }     function fSetInnerHtml(sId, sDivId)  {     var ifmWin=document.getElementById(sId).contentWindow;    var ifmDcu=ifmWin.document;    var html = ifmDcu.body.innerHTML;        var ifm = document.getElementById(sDivId);    ifm.value = html;   try{    } catch(e){}    return true;  } //]]> </script> <iFrame id=ifm runat=server></iFrame> <br/> <asp:Button id=edSubmit runat=server  Text = "Submit"  /> <asp:TextBox id=t runat=server  CssClass="dspHd" />   

    最新回复(0)