第三方組件FreeTextBox的使用
本實例中用到了第三方組件FreeTextBox(本書光盤已附帶該組件),該組件是一個在線文本編輯器,可以對文字以及圖片內(nèi)容進行處理,并將數(shù)據(jù)保存到數(shù)據(jù)庫中。該組件的配置步驟如下:
(1)將FreeTextBox.dll添加到項目中
在"解決方案資源管理器"對話框中右擊項目,在彈出的快捷菜單中選擇"添加引用"命令,在彈出的對話框中選擇"瀏覽"選項卡,找到組件存放位置,單擊"確定"按鈕,系統(tǒng)將自動創(chuàng)建Bin文件夾,并將組件存放到該文件夾中。"添加引用"對話框如圖23.2所示。
![]() |
圖23.2 "添加引用"對話框 |
(2)設(shè)置SupportFolder屬性
將存放有FreeTextBox組件資源文件的文件夾存放到aspnet_client文件夾中,然后設(shè)置SupportFolder屬性為aspnet_client/FreeTextBox/。
(3)向頁面中添加組件
配置完成后,即可向頁面中的位置添加組件。在向頁面中添加組件前,先注冊組件。在頁面HTML源碼頂部添加如下注冊代碼:
- <%@ Register TagPrefix="FTB" Namespace="
FreeTextBoxControls" Assembly="FreeTextBox" %>
在頁面中適當(dāng)?shù)奈恢锰砑覨reeTextBox組件的如下代碼:
- <FTB:FreeTextBox id="FreeTextBox1" runat="Server"
Language="zh-cn" SupportFolder="../aspnet_client/
FreeTextBox/" Height="300px" Width="500px"
HtmlModeDefaultsToMonoSpaceFont="True" DownLevelCols=
"50" DownLevelRows="10" ButtonDownImage="False"
GutterBackColor="LightSteelBlue" ToolbarBackgroundImage=
"True" ToolbarLayout="ParagraphMenu,FontFacesMenu,
FontSizesMenu,FontForeColorsMenu|Bold,Italic,Underline,
Strikethrough;Superscript,Subscript,RemoveFormat|JustifyLeft,
JustifyRight,JustifyCenter,JustifyFull;BulletedList,
NumberedList,Indent,Outdent;CreateLink,Unlink,InsertImage,
InsertRule|Cut,Copy,Paste;Undo,Redo,Print"
ToolbarStyleConfiguration="NotSet" />
注冊完成后,回到設(shè)計視圖,選中FreeTextBox組件,進行相關(guān)屬性設(shè)置。
(4)寫入數(shù)據(jù)庫
完成以上配置后就要使用FreeTextBox組件了。下面以在btnSubmit _Click事件中向數(shù)據(jù)庫插入帖子信息為例介紹FreeTextBox組件的使用方法,實現(xiàn)代碼如下:
- protected void btnSubmit_Click(object sender, EventArgs e)
- {
- string strName = "";
- string strPop = "";
- if (txtCName.Text == string.Empty)
- {
- Response.Write("<script language=
javascript>alert('帖子名稱不能為空!')</script>");- return;
- }
- if (Session["Name"] == null)
- {
- strName = "匿名";
- strPop = "游客";
- }
- else
- {
- strName = Session["Name"].ToString();
- strPop = Session["Pop"].ToString();
- }
- cardmanagecardmanage.CardID = cardmanage.GetCID();
- cardmanage.CardName = txtCName.Text;
- modulemanage.ModuleName = ddlMName.SelectedValue;
- cardmanage.ModuleID = modulemanage.
FindModuleByName(modulemanage, "tb_Module").Tables[0].
Rows[0][0].ToString();- cardmanage.CardContent = FreeTextBox1.Text;
- cardmanage.CardTime = DateTime.Now;
- cardmanage.CardPeople = strName;
- cardmanage.Pop = strPop;
- cardmanage.AddCard(cardmanage);
- Response.Write("<script language=
javascript>alert('帖子發(fā)表成功!')</script>");- }
注意:將FreeTextBox組件中的內(nèi)容插入數(shù)據(jù)庫時,需要在Web.Config文件的system.web節(jié)下加入<pages validateRequest="false"/>,否則可能會出現(xiàn)異常。