天天看點

草船借箭---ASP文本編輯器應用于.NET

       大家好,我是L。我最近發現我的辦公管理系統裡的文本編輯器真的是。。。忍不了了,是以我想換一換,在網上找到一個辦法,和大家分享一下,這項技術在VS2003中已經應用了,也算比較老的技術,但是對于大家應該還是比較有用的。

       部落格,論壇也都會用到文本編輯器,發文章之類的,類似于Word,比較常用,如果自己開發一個文本編輯器,成本也是很高的,好多代碼都設計到JavaScript,不太容易,也比較麻煩。現在網上很多工作室也開始做專門的成品然後賣,這次我用的是一個ASP版本的免費版,當然不能用于商業,要是用于商業就一定要購買版權。可能有很多網友和水友都會了,但是我覺得還是共享出來給不太熟悉的朋友,代碼在文章後面會上傳上來,代碼很簡單,我寫一點思路。

1.首先,下載下傳ASP文本編輯器壓縮包,這個我文章後面附件也會上傳的。裡面都是ASP,可以先看下運作效果,當然ASP是要在IIS下運作的,這裡一定要注意,後面建立網站的時候是要選擇的。進入系統目錄,找到IIS根目錄(C:\Inetpub\wwwroot),複制進來,運作Test1.asp。下面兩張圖大家應該就可以看明白了。這個文本編輯器功能比較全,操作也比較簡單,很友善。

2.然後,我們把這個ASP版本變成能在.NET下使用。打開VS2008,(或者VS2005都行),建立一個網站,然後選 HTTP,一般都是選檔案系統,ASP需要在IIS上運作,  當然也可以是遠端。

3.把解壓後的ASP文本編輯器粘貼到項目中來

看一下test1.asp的源代碼:

<TABLE border="0" cellpadding="2" cellspacing="1"> 

<TR> 

  <TD>編輯内容:</TD> 

  <TD> 

    <INPUT type="hidden" name="content1" value="<p> </p><p><font color=#ff0000>本樣式為自帶預設樣式,最佳調用寬度550px,高度350px!</font></p><p>下面為一些進階調用功能的例子,你可以用腳本友善的編輯進行一些操作。</p><p>看到這些内容,且沒有錯誤提示,說明安裝已經正确完成!</p><p>你可以先到背景管理中,進行必要的設定,然後再調用!</p><p><b><font color=#0000ff>提示:</font>别忘了改使用者和密碼、資料庫檔案名。</b></p>"> 

    <IFRAME ID="eWebEditor1" src="../ewebeditor.asp?id=content1&style=s_coolblue" frameborder="0" scrolling="no" width="550" height="350"></IFRAME> 

  </TD> 

</TR> 

  <TD colspan=2 align=right> 

  <INPUT type=submit name=b1 value="送出">    

  <INPUT type=reset name=b2 value="重填">    

  <INPUT type=button name=b3 value="檢視源檔案" onclick="location.replace('view-source:'+location)">    

  <TD>取到内容:</TD> 

  <TD><TEXTAREA cols=50 rows=5 id=myTextArea style="width:550px">點選“取值”按鈕,看一下效果!</TEXTAREA></TD> 

  <INPUT type=button name=b4 value="取值" onclick="myTextArea.value=eWebEditor1.getHTML()">    

  <INPUT type=button name=b5 value="指派" onclick="eWebEditor1.setHTML('<b>Hello My World!</b>')"> 

  <INPUT type=button name=b6 value="代碼狀态" onclick="eWebEditor1.setMode('CODE')"> 

  <INPUT type=button name=b7 value="設計狀态" onclick="eWebEditor1.setMode('EDIT')"> 

  <INPUT type=button name=b8 value="文本狀态" onclick="eWebEditor1.setMode('TEXT')"> 

  <INPUT type=button name=b8 value="預覽狀态" onclick="eWebEditor1.setMode('VIEW')"> 

  <INPUT type=button name=b9 value="目前位置插入" onclick="eWebEditor1.insertHTML('This is Insert Function!')"> 

  <INPUT type=button name=b10 value="尾部追加" onclick="eWebEditor1.appendHTML('This is Append Function!')">

</TABLE>

我們需要修改這個table,我要的是文本裡的内容,是以用不到的就去掉好了。修改後變成:

  <TD align=right> 

再改一下路徑,改成我項目的路徑:

src="eWebEditor/ewebeditor.asp?id=content1&style=s_coolblue"

4.其實核心語言無所謂,主要都是傳值然後進行操作,現在伺服器都支援ASP,然後把這個修改後的TABLE複制到Default.aspx,然後修改一下路徑。可以先看一下效果了,但是在之前我們需要改個地方,IIS需要進行設定,網站-->屬性-->目錄安全性-->編輯-->內建windows身份驗證勾上。

5.這樣雖然顯示了,但是不夠靈活,可能我們的頁面還有其他的控件,是以我們可以把剛才的TABLE做成 WEB控件,用的化直接拖進頁面就OK了,建立一個WEB控件,直接剪進頁面A把代碼。

6.看一下table代碼,内容都在textbox裡面了,value是内容,傳參的大家即使不了解ASP也會看到ewebeditor.asp?id=content1&style=s_coolblue。當我們點選“送出”的時候對内容進行處理,取出内容,顯示或者添加資料庫都可以。内容都是通過 form送出,是以我們把A頁面的form進行一下處理,變成:

<form id="form1" action="save.aspx" method="post">

,但是form下的不管什麼控件都要runat=server,因為資料還是要在背景處理的,把内容傳到save.aspx頁面。

7.頁面save.aspx擷取文本内容,代碼很簡單。

string content = Request.Form["content1"].ToString(); 

Response.Write(content);

原理已經就這麼多了,不難,不過很有用。後面我們完善一下這個程式。

8.肯定還要有其他控件在起始頁面,我們再建立一個B頁面。

關系:B是首頁面  >   A是架構    >  WEB控件  

這樣我們在B頁面引用以下A架構就可以了:

<iframe src=Default.aspx width=580 height=550></iframe>

9.在aspx頁面中設計到一個安全的東西,不允許送出一些腳本的東西。增加驗證代碼:

ValidateRequest="false"

10.如果上傳圖檔的話,要增加檔案夾權限,否則上傳不了圖檔什麼的。共享裡面打開這個檔案夾共享。

       大功告成,用别人的成品還是比較快的,有經濟能力的盡量購買正版。這個程式已經算是比較簡便的辦法了,當然辦法都是人想的,而且這個技術是VS2003那個時代的,肯定還會有更好的。

       這個是最簡單的讓.NET使用ASP文本編輯器,要是更改文本編輯器也可以,但是要懂一些JS,呵呵,還是很麻煩的。産品版權還是作者的,應用商業一定要買正版。

<a href="http://down.51cto.com/data/2350832" target="_blank">附件:http://down.51cto.com/data/2350832</a>

     本文轉自L.net 51CTO部落格,原文連結:http://blog.51cto.com/mixangel/104575,如需轉載請自行聯系原作者