Digg 顶 踩(jQuery+Ajax)
//Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>digg</title> <link href="css/page.css" rel="stylesheet" type="text/css" media="all" /> <script src="js/cookie.js" type="text/javascript" language="javascript" ></script> <script src="js/jquery-1.3.2.min.js" type="text/javascript" language="javascript" ></script> <script type="text/javascript"> function postDigg(ftype,aid){ //设置cookie var saveid = GetCookie('diggid'); if(saveid != null) { var saveids = saveid.split(','); var hasid = false; saveid = ''; j = 1; for(i=saveids.length-1;i>=0;i--) { if(saveids[i]==aid && hasid) continue; else { if(saveids[i]==aid && !hasid) hasid = true; saveid += (saveid=='' ? saveids[i] : ','+saveids[i]); j++; if(j==20 && hasid) break; if(j==19 && !hasid) break; } } if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; } else saveid += ','+aid; SetCookie('diggid',saveid,1); } else { SetCookie('diggid',aid,1); } //获取数据 $.ajax({ url:"Digg.aspx?action="+ftype+"&id="+aid+" &time="+new Date().toString(), type:'GET', success:function(){ $('#newdigg').html(arguments[0]); } }); } function getDigg(aid){ $.ajax({ url:"Digg.aspx?id="+aid+" & time="+new Date().toString(), type:'GET', success:function(){ $('#newdigg').html(arguments[0]); } }); } </script> </head> <body> <form id="form1" runat="server"> <div class="newdigg" id="newdigg"> </div> <script language="javascript" type="text/javascript">getDigg(197);</script> <div class="boxoff"> <strong>------分隔线----------------------------</strong> </div> </form> </body> </html>
//Digg.aspx
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Digg : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string s = Request["id"].ToString(); int aid = int.Parse(s); if (Request["action"] != null) //一定要这个 { string action = Request["action"].ToString(); db d = new db(); if (action == "good") { d.excuteSQL("Update Digg set goodpost=goodpost+1,lastpost=getdate() where contentid=" + aid); } else if (action == "bad") { d.excuteSQL("Update Digg set badpost=badpost+1,lastpost=getdate() where contentid=" + aid); } } string ss = getDigg(aid); Response.Write(ss); } public string getDigg(int strId) { int goodper; int badper; string digg = ""; db d = new db(); DataTable dt = d.getDT("Select goodpost,badpost From Digg where contentid="+strId); foreach (DataRow dr in dt.Rows) { int goodposts = Convert.ToInt32(dr["goodpost"]); int badposts = Convert.ToInt32(dr["badpost"]); if (goodposts + badposts == 0) { goodper = badper = 0; } else { int alls = goodposts + badposts; goodper = Convert.ToInt32((double)goodposts / alls * 100); badper = 100 - goodper; } digg += "<div class=\"diggbox digg_good\" onmousemove=\"this.style.backgroundPosition='left bottom';\" onmouseout=\"this.style.backgroundPosition='left top';\" onclick=\"postDigg('good'," + strId + ")\">"; digg += "<div class=\"digg_act\">顶一下</div>"; digg += "<div class=\"digg_num\">(" + goodposts + ")</div>"; digg += "<div class=\"digg_percent\">"; digg += "<div class=\"digg_percent_bar\"><span style=\"width:" + goodper + "%\"></span></div>"; digg += "<div class=\"digg_percent_num\">" + goodper + "%</div>"; digg += "</div>"; digg += "</div>"; digg += "<div class=\"diggbox digg_bad\" onmousemove=\"this.style.backgroundPosition='right bottom';\" onmouseout=\"this.style.backgroundPosition='right top';\" onclick=\"postDigg('bad'," + strId + ")\">"; digg += "<div class=\"digg_act\">踩一下</div>"; digg += "<div class=\"digg_num\">(" + badposts + ")</div>"; digg += "<div class=\"digg_percent\">"; digg += "<div class=\"digg_percent_bar\"><span style=\"width:" + badper + "%\"></span></div>"; digg += "<div class=\"digg_percent_num\">" + badper + "%</div>"; digg += "</div>"; digg += "</div>"; } return digg; } }
//cookie.js
//读写cookie函数 function GetCookie(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "=") if (c_start != -1) { c_start = c_start + c_name.length + 1; c_end = document.cookie.indexOf(";",c_start); if (c_end == -1) { c_end = document.cookie.length; } return unescape(document.cookie.substring(c_start,c_end)); } } return null } function SetCookie(c_name,value,expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie = c_name + "=" +escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString() }