第三方组件FreeTextBox的使用
本实例中用到了第三方组件FreeTextBox(本书光盘已附带该组件),该组件是一个在线文本编辑器,可以对文字以及图片内容进行处理,并将数据保存到数据库中。该组件的配置步骤如下:
(1)将FreeTextBox.dll添加到项目中
在"解决方案资源管理器"对话框中右击项目,在弹出的快捷菜单中选择"添加引用"命令,在弹出的对话框中选择"浏览"选项卡,找到组件存放位置,单击"确定"按钮,系统将自动创建Bin文件夹,并将组件存放到该文件夹中。"添加引用"对话框如图23.2所示。
|
图23.2 "添加引用"对话框 |
(2)设置SupportFolder属性
将存放有FreeTextBox组件资源文件的文件夹存放到aspnet_client文件夹中,然后设置SupportFolder属性为aspnet_client/FreeTextBox/。
(3)向页面中添加组件
配置完成后,即可向页面中的位置添加组件。在向页面中添加组件前,先注册组件。在页面HTML源码顶部添加如下注册代码:
- <%@ Register TagPrefix="FTB" Namespace="
FreeTextBoxControls" Assembly="FreeTextBox" %>
在页面中适当的位置添加FreeTextBox组件的如下代码: - <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" />
注册完成后,回到设计视图,选中FreeTextBox组件,进行相关属性设置。
(4)写入数据库
完成以上配置后就要使用FreeTextBox组件了。下面以在btnSubmit _Click事件中向数据库插入帖子信息为例介绍FreeTextBox组件的使用方法,实现代码如下: - 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('帖子发表成功!')</script>"); - }
注意:将FreeTextBox组件中的内容插入数据库时,需要在Web.Config文件的system.web节下加入<pages validateRequest="false"/>,否则可能会出现异常。
|