3、這時(shí)可以實(shí)現(xiàn)帶格式文本的插入。效果圖如下
4、為了實(shí)現(xiàn)插入圖片功能,需要使用InsertFromGallery功能 ,需要添加ftb.imagegallery.aspx文件,具體步驟右擊解決方案--添加現(xiàn)有項(xiàng)--ftb.imagegallery.aspx添加到項(xiàng)目中,然后把 ftb.imagegallery.aspx 的只讀屬性去掉。從ftb.imagegallery.aspx的設(shè)計(jì)視圖切換到源代碼視圖中,將JavaScriptLocation、UtilityImagesLocation這兩項(xiàng)設(shè)為InternalResource讓它引用DLL的內(nèi)嵌資源文件。再將AllowImageDelete、AllowImageUpload、AllowDirectoryCreate、AllowDirectoryDelete等都設(shè)為true。
5、FreeTextBox 控件屬性設(shè)置,ImageGalleryPath 指定圖片存放的位置(我這里為了使用默認(rèn)位置,在項(xiàng)目中新建一個(gè)images文件夾,用以存放需要插入的圖片。),ImageGalleryUrl 指定 ftb.imagegallery.aspx 所在的URL,如果FreeTextBox所在的頁與ftb.imagegallery.aspx在同一目錄下,則無需設(shè)置此項(xiàng),最后要設(shè)置 ToolbarLayout 屬性,在 InsertImage 之后加入 InsertImageFromGallery(摁住End鍵直接到句尾方便添加內(nèi)容) 。
這時(shí)用瀏覽器預(yù)覽之后會(huì)在原來的Insert Image按鈕右邊多出一個(gè)按鈕來,通過這個(gè)就可以實(shí)現(xiàn)上傳圖片文件并對(duì)圖片進(jìn)行適當(dāng)?shù)卦O(shè)置再插入到編輯器中。插入過程和結(jié)果演示圖如下
注:可設(shè)置FreeTextBox的ButtonSet來實(shí)現(xiàn)不同的主題風(fēng)格。
6、FreeText中的所有內(nèi)容會(huì)以html格式進(jìn)行存儲(chǔ),下面實(shí)現(xiàn)涉及FreeTextBox中的新聞內(nèi)容插入數(shù)據(jù)庫和從數(shù)據(jù)庫中隨機(jī)抽取N條新聞內(nèi)容顯示到FreeTextBox中。
需要在頁面中插入兩個(gè)FreeTextBox,一個(gè)用來將FreeTextBox中的新聞內(nèi)容插入數(shù)據(jù)庫,另一個(gè)用來從數(shù)據(jù)庫中隨機(jī)抽取N條新聞內(nèi)容顯示到FreeTextBox,再添加兩個(gè)按鈕響應(yīng)事件。在SQL SERVER中建立的數(shù)據(jù)庫表見下圖
protected void Button1_Click(object sender, EventArgs e) { SqlConnection mycon = new SqlConnection(@"Data Source=XIAOHUI\HUIHUISQL;Initial Catalog=Exam;Integrated Security=True"); SqlCommand cmd = new SqlCommand("insert into news(NewsContent) values('"+FreeTextBox1.Text+ "')",mycon); mycon.Open(); cmd.ExecuteNonQuery(); mycon.Close(); } protected void Button2_Click(object sender, EventArgs e) {//DataReader的意思就是數(shù)據(jù)閱讀器,它是以類似于指針的形式讀取數(shù)據(jù)庫里面的記錄,具有效率高的特點(diǎn)。使用Read()方法可以將滿足查詢的記錄依次讀取出來, 類似于指針的Next()方法。使用while循環(huán)可以讀取到全部記錄,讀取到最后一條記錄時(shí)退出循環(huán)。返回的值為Object類型,可以進(jìn)行轉(zhuǎn)換以得到需要的數(shù)據(jù)。注意使用datareader必須及時(shí)關(guān)閉,否則會(huì)與數(shù)據(jù)庫建立長連接,消耗數(shù)據(jù)庫的連接數(shù)。 //newid()函數(shù) http://www.cnblogs.com/wuming/archive/2010/02/24/1672906.html //在進(jìn)行插入時(shí),最好直接寫出列名,防止以后更改表結(jié)構(gòu)變化列位置 SqlConnection mycon = new SqlConnection(@"Data Source=XIAOHUI\HUIHUISQL;Initial Catalog=Exam;Integrated Security=True"); SqlCommand cmd = new SqlCommand("select top 3 * from news order by newid()", mycon); mycon.Open(); SqlDataReader sdr= cmd.ExecuteReader(); while (sdr.Read()) { FreeTextBox2.Text+= sdr["NewsContent"].ToString(); } sdr.Close(); mycon.Close();}
報(bào)錯(cuò)說明:請(qǐng)求驗(yàn)證過程檢測(cè)到有潛在危險(xiǎn)的客戶端輸入值,對(duì)請(qǐng)求的處理已經(jīng)中止。該值可能指示存在危及應(yīng)用程序安全的嘗試,如跨站點(diǎn)腳本攻擊。若要允許頁面重寫應(yīng)用程序請(qǐng)求驗(yàn)證設(shè)置。
示例:在wb.config文件中添加<httpRuntimerequestValidationMode="2.0" />。設(shè)置此值后,可通過在 包含F(xiàn)reeTextBox內(nèi)容顯示的源代碼頁面里Page 指令或 <pages> 配置節(jié)中設(shè)置 validateRequest="false" 禁用請(qǐng)求驗(yàn)證。
備注:在調(diào)試過程中,若頁面不能實(shí)時(shí)更新修改后的內(nèi)容,可將aspx頁面關(guān)掉后再打開,去掉自動(dòng)生成的Page_Load事件加以快加載。
完成,收工??!
聯(lián)系客服