分享

《新闻发布系统》利用第三方控件FreeTextBox实现在ASP.NET下插入和显示新闻

 寒木萧条 2012-11-16
1、打开官方网页http://www./,下载 “DownLoad Free Version”下的FTBv3-3-1.zip压缩包文件,大小1.9M,解压
VS2010 使用Framework-4-0文件夹下的FreeTextBox.dll
VS2008 使用Framework-3-5文件夹下的FreeTextBox.dll
VS2005 使用Framework-2-0文件夹下的FreeTextBox.dll
2、菜单栏中,工具--选择工具箱项,完成这一步后,就可以在任何网站或者Web Project使用FreeTextBox了,只要简单地把工具栏上面的FreeTextBox拖到页面上即可,VS会帮你自动Copy所需的DLL文件和生成相应的licenses.licx(licenses.licx这个会在你的应用程序根目录,是FreeTextBox的授权文件)。
 
 

3、这时可以实现带格式文本的插入。效果图如下

4、为了实现插入图片功能,需要使用InsertFromGallery功能 ,需要添加ftb.imagegallery.aspx文件,具体步骤右击解决方案--添加现有项--ftb.imagegallery.aspx添加到项目中,然后把 ftb.imagegallery.aspx 的只读属性去掉。从ftb.imagegallery.aspx的设计视图切换到源代码视图中,将JavaScriptLocation、UtilityImagesLocation这两项设为InternalResource让它引用DLL的内嵌资源文件。再将AllowImageDelete、AllowImageUpload、AllowDirectoryCreate、AllowDirectoryDelete等都设为true。
5、FreeTextBox 控件属性设置,ImageGalleryPath 指定图片存放的位置(我这里为了使用默认位置,在项目中新建一个images文件夹,用以存放需要插入的图片。),ImageGalleryUrl 指定 ftb.imagegallery.aspx 所在的URL,如果FreeTextBox所在的页与ftb.imagegallery.aspx在同一目录下,则无需设置此项,最后要设置 ToolbarLayout 属性,在 InsertImage 之后加入 InsertImageFromGallery(摁住End键直接到句尾方便添加内容) 。
这时用浏览器预览之后会在原来的Insert Image按钮右边多出一个按钮来,通过这个就可以实现上传图片文件并对图片进行适当地设置再插入到编辑器中。插入过程和结果演示图如下

 

注:可设置FreeTextBox的ButtonSet来实现不同的主题风格。
6、FreeText中的所有内容会以html格式进行存储,下面实现涉及FreeTextBox中的新闻内容插入数据库和从数据库中随机抽取N条新闻内容显示到FreeTextBox中。

 需要在页面中插入两个FreeTextBox,一个用来将FreeTextBox中的新闻内容插入数据库,另一个用来从数据库中随机抽取N条新闻内容显示到FreeTextBox,再添加两个按钮响应事件。在SQL SERVER中建立的数据库表见下图

  1. protected void Button1_Click(object sender, EventArgs e)  
  2.     {   SqlConnection mycon = new SqlConnection(@"Data Source=XIAOHUI\HUIHUISQL;Initial Catalog=Exam;Integrated Security=True");  
  3.         SqlCommand cmd = new SqlCommand("insert into news(NewsContent) values('"+FreeTextBox1.Text+ "')",mycon);  
  4.         mycon.Open();  
  5.         cmd.ExecuteNonQuery();  
  6.         mycon.Close();  
  7.     }  
  8.     protected void Button2_Click(object sender, EventArgs e)  
  9.     {//DataReader的意思就是数据阅读器,它是以类似于指针的形式读取数据库里面的记录,具有效率高的特点。使用Read()方法可以将满足查询的记录依次读取出来, 类似于指针的Next()方法。使用while循环可以读取到全部记录,读取到最后一条记录时退出循环。返回的值为Object类型,可以进行转换以得到需要的数据。注意使用datareader必须及时关闭,否则会与数据库建立长连接,消耗数据库的连接数。   
  10.      //newid()函数 <A href="http://www.cnblogs.com/wuming/archive/2010/02/24/1672906.html">http://www.cnblogs.com/wuming/archive/2010/02/24/1672906.html   
  11. </A>    //在进行插入时,最好直接写出列名,防止以后更改表结构变化列位置   
  12.          SqlConnection mycon = new SqlConnection(@"Data Source=XIAOHUI\HUIHUISQL;Initial Catalog=Exam;Integrated Security=True");  
  13.         SqlCommand cmd = new SqlCommand("select top 3 * from news order by newid()", mycon);  
  14.         mycon.Open();  
  15.         SqlDataReader sdr= cmd.ExecuteReader();  
  16.         while (sdr.Read())  
  17.         { FreeTextBox2.Text+= sdr["NewsContent"].ToString(); }  
  18.         sdr.Close();  
  19.         mycon.Close();  
  20.   
  21. }  

报错说明:请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置。
示例:在wb.config文件中添加<httpRuntimerequestValidationMode="2.0" />。设置此值后,可通过在 包含FreeTextBox内容显示的源代码页面里Page 指令或 <pages> 配置节中设置 validateRequest="false" 禁用请求验证。

备注:在调试过程中,若页面不能实时更新修改后的内容,可将aspx页面关掉后再打开,去掉自动生成的Page_Load事件加以快加载。

完成,收工!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多