1private void checkMessage()
2 {
3 string Sql="select distinct sender from message where state=1 and recrieve='"+this._UserID+"'";
4 DataTable msgtb=Data.DataSetQuery(Sql,"msg").Tables[0];
5 foreach(DataRow r in msgtb.Rows)
6 {
7 string username=r["sender"].ToString();
8
9string script="window.open('message.aspx?sender="+username+"&type=0','"+username+"','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=2,width=400,height=400');";
10 Response.Write(script);
11
12 }
13
14 }
2 {
3 string Sql="select distinct sender from message where state=1 and recrieve='"+this._UserID+"'";
4 DataTable msgtb=Data.DataSetQuery(Sql,"msg").Tables[0];
5 foreach(DataRow r in msgtb.Rows)
6 {
7 string username=r["sender"].ToString();
8
9string script="window.open('message.aspx?sender="+username+"&type=0','"+username+"','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=2,width=400,height=400');";
10 Response.Write(script);
11
12 }
13
14 }
检查到了消息以后接着要在消息窗口中显示未读消息。发送消息和接受消息都用的一个窗口根据不同参数来判断是否读取数据库数据(分两中状态,一种是选择要发送的对象直接打开的窗口,一种是根据上面方法检查到有信息而自动弹出的窗口),在这里我写了一个属性
1private string Type
2 {
3 get{return Request.QueryString["type"].ToString();}
4
5 }
2 {
3 get{return Request.QueryString["type"].ToString();}
4
5 }
1private void checkMsg()
2 {
3 if (Type.Equals("0")) {
4 string sql="select *,b.username from message a,user_info b where b.userid=a.sender and a.state=1 and a.sender='"+sendName+"' and recrieve='"+this._UserID+"'";
5 DataTable dt=Data.DataSetQuery(sql,"msg").Tables[0];
6
7 this.BindBaseList(DataList1,dt);
8 sql="update message set state=0 where state=1 and sender='"+sendName+"' and recrieve='"+this._UserID+"'";
9 Data.EditData(sql);
10
11 }
12 }
2 {
3 if (Type.Equals("0")) {
4 string sql="select *,b.username from message a,user_info b where b.userid=a.sender and a.state=1 and a.sender='"+sendName+"' and recrieve='"+this._UserID+"'";
5 DataTable dt=Data.DataSetQuery(sql,"msg").Tables[0];
6
7 this.BindBaseList(DataList1,dt);
8 sql="update message set state=0 where state=1 and sender='"+sendName+"' and recrieve='"+this._UserID+"'";
9 Data.EditData(sql);
10
11 }
12 }
1string sql=@"insert into message(sender,recrieve,message,creattime)
2values('"+this._UserID+"','"+sendName+"','"+tb_concent.Text+"',getdate())";
3 Data.EditData(sql);
4 this.Response_Page("消息发送成功。","debug");
5 Response.Write("<script language=javascript>window.close();</script>");
6 this.tb_concent.Text="";
2values('"+this._UserID+"','"+sendName+"','"+tb_concent.Text+"',getdate())";
3 Data.EditData(sql);
4 this.Response_Page("消息发送成功。","debug");
5 Response.Write("<script language=javascript>window.close();</script>");
6 this.tb_concent.Text="";
这样一个WEBQQ的基本功能就实现了,代码并不复杂,关键是想说明我做这个东西的思想方法。也许我的想法和功能都很简单,但是有很多东西通过自己想法实现的都比较有意思,有做类似东西的朋友也可以多多交流,希望能给我更多的想法和思路:)