惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
J
Java Code Geeks
Jina AI
Jina AI
B
Blog RSS Feed
量子位
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件
博客园 - 聂微东
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
I
InfoQ
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
爱范儿
爱范儿
Y
Y Combinator Blog
Vercel News
Vercel News
雷峰网
雷峰网

博客园 - 久久

终于找到回归CNBLOG的理由 六度空间理论(小世界理论)否定了结构洞的存在 人生真是变化无常 我的儿时理想—让世界没有乞丐 挥之不去的技术情节 告别9月 首次尝试电话营销的味道 在textbox中加入html字符 用access数据库时的相对路径设置 将图片直接传到数据库的方法 关于treeview的一些知识点 好久没有上来更新资料了,有点对不起自己了 初试牛刀的收获-实现Web文件的上传 初试牛刀的收获-浅尝session 初试牛刀的收获_运算符比较 初试牛刀的感受_datagrid自定义分页 .net学习笔记datalist编辑模板的应用 .net学习笔记datalist产品购买实例20060602 .net学习笔记datagrid默认、自定义分页20060531
初试牛刀的收获-freetextbox的应用
久久 · 2006-06-19 · via 博客园 - 久久

Freetextbox 的使用
 
刚学习asp.net时一直为怎样解决新闻内容添加中保存文章格式的添加而苦恼,最近无意中发现了Freetextbox这个好东西,虽然我

还没有找到它添加word文档附件的方法,但是已经欣喜若狂了。下面就对Freetextbox进行简单的介绍。
Freetextbox是一个免费的.net mshtml 编辑器。
我所用的免费的freetextbox版本是中文版本1.6.3的汉化的freetextbox。
下载之后仔细看看其中的说明,你就可以使用这个完美的编辑器。
其中示例是在内联代码方式下,如果在代码后置下使用Freetextbox 呢。

1、首先我们把 FreeTextBox.dll 文件copy到我们的项目中的bin目录里。
然后在我们的项目里添加新的引用,在添加引用对话框选择项目标签,浏览/选择你的FreeTextBox.dll/打开/确定。应用就添加完

成了。

2、如何获得FreeTextBox.dll 中所使用到的名字空间,本中文版本1.6.3 有3个名字空间。
using FreeTextBoxControls;
using FreeTextBoxControls.Design;
using FreeTextBoxControls.Common;
可以在引用的FreeTextBox.dll 查看对象浏览。
点开树型目录就可以清晰的看到,上面所说的名字空间了。
其他的版本类似可以获得。

(还得通过添加控件到toolbar中,然后拖动到网页上)

3、在aspx文件添加freetextbox
<%@ Register TagPrefix="ftb" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
具体的方法和内联一样的。

同时cs文件中会有如下代码:
protected FreeTextBoxControls.FreeTextBox FreeTextBox1;产生
添加完后,运行一下就可以看到结果了。
在设计模式下我们还可以查看FreeTextBox 属性。

4、如何把FreeTextBox 内容写到数据库,我们在aspx文件中添加一个bottom
其的onclick=“my_add"
cs文件
protected void my_add(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
         Response.Write(FreeTextBox1.Text);
        }
此处是输出内容,可以改成我们需要方法。

FreeTextBox使用方法集合
1.先把freetextbox.dll添加到项目中

2.把 - ftb.colorpicker.aspx
          - ftb.imagegallery.aspx
          - ftb.inserttable.aspx
从文件夹HelperScripts复制出来,放到外面与 - test.aspx (测试)同等级目录,
(不这么做,插入背景色,图片,表格就不好使)

3.把images文件夹放到test.aspx (测试)同等级目录下,来存放上传的图片.

4.在test.aspx 中,加图片的路径
<FTB:FreeTextBox id="FreeTextBox1" runat="server" Width="700" ButtonPath="\images\ftb\office2003\"/>

this.FreeTextBox1.Text 这个就是FTB中你输入的文本的内容,这是带HTML标记的

this.FreeTextBox1.HtmlStrippedText 这个是将HTML标记去掉的文本

5.写入数据库
在CSDN上看到朋友们说怎么把FreeTextBox内容写入数据库中
我做了一下.就是把所有产生的HTML代码都插入数据库的一个字段中
可以做一个新闻表
news
字段ID(自增) content addtime(getdate)
 

 private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
   if (!IsPostBack)
   {
    SqlConnection myConn = new SqlConnection("server=(local);database=mm;uid=sa;pwd=123");
    SqlCommand myCmd = new SqlCommand("select * from test where id=2",myConn);
    myConn.Open();
    SqlDataReader myDr;
    myDr=myCmd.ExecuteReader();
    myDr.Read();
    Response.Write(myDr["content"].ToString());
    myDr.Close();
    myConn.Close();
   }
  }

 private void Button1_Click(object sender, System.EventArgs e)
  {
   SqlConnection myConn = new SqlConnection("server=(local);database=mm;uid=sa;pwd=123");
   SqlCommand myCmd = new SqlCommand("insert into test (content) values('"+FreeTextBox1.Text+"')",myConn); 
   myConn.Open();
             myCmd.ExecuteNonQuery();
   myConn.Close();
  }


[注]web.config
在system.web节加入:
  <pages validateRequest="false"/>

----心得------------

  在使用FreeTextBox控件进行文本编辑后,进行保存时需要取编辑内容对应的HTML文本内容。取编

辑内容使用my_freetextbox.ViewStateText属性会比使用my_freetextbox.Text属性,在后续的字

符串内容处理上会方便一些。

      在所取出的字符串中,系统自动加上了“\r\n”的回车换行字符串标示,在存储内容到数据库之前最

好将这些“\r\n”字符串用空串“”替换掉(如:my_str=my_str.Replace("\r\n","")),否则在将

来调用时会导致不正常显示。

      在所取出的字符串中,系统还把编辑文本中的双引号“用转义字符\进行了处理,如原字符串为

“wangshixin said "hello!"”,所取得的字符串实际为“wangshixin said \"hello!\"”,因此需要

将所获得的字符串中的全部“\"”用特定的字符串替换掉。在将来提取显示时,再将特定字符串替换为

“\"”(如:my_str=my_str.Replace("\"","wangshixin750920"))。

-----还有,再加上----------
 

FreeTextBox1.Text 取得内容(带html标签的)

FreeTextBox1.HtmlStrippedText  也是取得内容(不带Html标签的)
------关于WORD中过来的内容,出错解决---------
把从word复制的文本粘贴到freetextbox里,提交到数据库的时候会提示有危险代码,也就是单引号,这是为什么?
在Dottext里的freetextbox,同一篇word文档,提交时就没有问题。
我现在找到的原因是dottext里的freetextbox在提交的时候会把危险代码重新编码好像,而在我的项目里的freetextbox就不会。
查看包含freetextbox控件的页面源文件,又发现license不同,是不是有
把页面中的validateRequest指令设成false即可,或者直接改web.config:<pages validateRequest="false" buffer="true"/>