ASP.NET留言板 文字加表情

来源:互联网 发布:淘宝网iphone6s外壳 编辑:程序博客网 时间:2024/05/22 02:05

分类: ASP.NET 395人阅读 评论(12) 收藏 举报

 对于学习ASP.NET的人,留言板再熟悉不过了。但是仅仅是文字留言功能,你是否觉得厌烦了呢?你是否渴望像QQ聊天那样,时不时地加上个表情来张扬个性?那么下面要说的就是如何实现。
    一般说来,使用TextBox文本框来接收留言信息,但是TextBox只能写入文本,不能够加入图片,这可怎么办?那好,这个问题先放一放,说点其他的。如果你是个细心的人,并且经常浏览优酷网,那么你是否还记得优酷网留言时的效果呢?
    请看下面的图并且注意:我点击了第一个图片“赞”,留言板中却是“[Yo17]”。很显然,它是用[Yo17]代表图片“赞”,有了这个例子,思路也就清晰了,Yo17是图片的名字,"[" 和"]"起到标示图片的作用。输出时,前一个"["用"<img src='Image/"代替,后一个"]"用".gif'>"代替,即:<img src='Image/Yo17.gif'/>。这样,使用Response.Write()输出时,就变成了图片了。

 

 

好了,现在开始代码的编写工作。首先,搜集一些表情图片,用QQ表情就行,在软件安装目录Program Files/Tencent/QQ/Face2 下,拷贝出来就行了。

在网站上新建一个Image文件夹用来存放图片。拖放一个TextBox,一个Button按钮,若干ImageButton控件。
 

[c-sharp] view plaincopyprint?
  1.   using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Web;  
  5. using System.Web.Security;  
  6. using System.Web.UI;  
  7. using System.Web.UI.WebControls;  
  8. using System.Web.UI.WebControls.WebParts;  
  9. using System.Web.UI.HtmlControls;  
  10. using System.IO;  
  11. using System.Text.RegularExpressions;   //引入正则表达式命名空间  
  12.   
  13.   
  14. public partial class _Default : System.Web.UI.Page   
  15. {  
  16.     protected void Page_Load(object sender, EventArgs e)  
  17.     {  
  18.   
  19.     }  
  20.     protected void Button1_Click(object sender, EventArgs e)  
  21.     {  
  22.         string strContent = TextBox1.Text;  
  23.          //下面使用了正则表达式Regex类下的Replace方法。  
  24.         string strResult1 = Regex.Replace(strContent, @"{!""<img src="Image/");  
  25.         string strResult2 = Regex.Replace(strResult1, @"!}"".gif" mce_src="http://mce_host/Image/");  
  26.         string strResult2 = Regex.Replace(strResult1, @"!}"".gif"/>");  
  27.         Response.Write(strResult2);  
  28.   
  29.     }  
  30.    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)  
  31.     {  
  32.        TextBox1.Text += "{!Face1!}"//Face1是图片的名称,下同  
  33.     }  
  34.     protected void ImageButton2_Click(object sender, ImageClickEventArgs e)  
  35.     {  
  36.        TextBox1.Text += "{!Face2!}";  
  37.     }  
  38.     protected void ImageButton3_Click(object sender, ImageClickEventArgs e)  
  39.     {  
  40.        TextBox1.Text += "{!Face3!}";  
  41.     }  
  42.     //其他ImgeButton代码省略……  
  43. }