您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->BlogEngine v1.3 多皮肤多语言版源码>>admin/Pages/referrers.aspx.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:BlogEngine v1.3 多皮肤多语言版源码


当前文件路径:BlogEngine/admin/Pages/referrers.aspx.cs 文件类型
普通视图
		            
1Using 12 13public partial class admin_Pages_referrers : System.Web.UI.Page 14{ 15 protected void Page_Load(object sender, EventArgs e) 16 { 17 if (!Page.IsPostBack) 18 { 19 if (BlogSettings.Instance.EnableReferrerTracking) 20 { 21 BindDays(); 22 BindReferrers(DateTime.Now.ToString("dddd", System.Globalization.CultureInfo.InvariantCulture)); 23 } 24 else 25 { 26 ddlDays.Enabled = false; 27 } 28 29 cbEnableReferrers.Checked = BlogSettings.Instance.EnableReferrerTracking; 30 } 31 32 ddlDays.SelectedIndexChanged += new EventHandler(ddlDays_SelectedIndexChanged); 33 cbEnableReferrers.CheckedChanged += new EventHandler(cbEnableReferrers_CheckedChanged); 34 Page.Title = Resources.labels.referrers; 35 } 36 37 private void cbEnableReferrers_CheckedChanged(object sender, EventArgs e) 38 { 39 if (cbEnableReferrers.Checked) 40 { 41 BindDays(); 42 BindReferrers(DateTime.Now.ToString("dddd", System.Globalization.CultureInfo.InvariantCulture)); 43 } 44 else 45 { 46 ddlDays.Enabled = false; 47 } 48 49 BlogSettings.Instance.EnableReferrerTracking = cbEnableReferrers.Checked; 50 BlogSettings.Instance.Save(); 51 } 52 53 void ddlDays_SelectedIndexChanged(object sender, EventArgs e) 54 { 55 BindReferrers(ddlDays.SelectedValue); 56 } 57 58 private void BindDays() 59 { 60 int count = 0; 61 ddlDays.ClearSelection(); 62 ddlDays.Enabled = true; 63 foreach (ListItem item in ddlDays.Items) 64 { 65 item.Text = DateTime.MinValue.AddDays(count).ToString("dddd"); 66 if (item.Value == DateTime.Now.ToString("dddd", System.Globalization.CultureInfo.InvariantCulture)) 67 { 68 item.Selected = true; 69 } 70 71 count++; 72 } 73 } 74 75 private void BindReferrers(string day) 76 { 77 string filename = Server.MapPath("~/App_Data/log/" + day + ".xml"); 78 if (File.Exists(filename)) 79 { 80 DataSet ds = new DataSet(); 81 ds.ReadXml(filename); 82 83 DataTable table = new DataTable(); 84 table.Columns.Add("url", typeof(string)); 85 table.Columns.Add("shortUrl", typeof(string)); 86 table.Columns.Add("hits", typeof(int)); 87 88 DataTable spamTable = table.Clone(); 89 90 foreach (DataRow row in ds.Tables[0].Rows) 91 { 92 DataRow newRow = table.NewRow(); 93 if (row.Table.Columns.Contains("isSpam") && row["isSpam"].ToString().ToLowerInvariant() == "true") 94 newRow = spamTable.NewRow(); 95 96 newRow["url"] = Server.HtmlEncode(row["address"].ToString()); 97 newRow["shortUrl"] = MakeShortUrl(row["address"].ToString()); 98 newRow["hits"] = int.Parse(row["url_text"].ToString()); 99 100 if (row.Table.Columns.Contains("isSpam") && row["isSpam"].ToString().ToLowerInvariant() == "true") 101 spamTable.Rows.Add(newRow); 102 else 103 table.Rows.Add(newRow); 104 } 105 106 BindTable(table, grid); 107 BindTable(spamTable, spamGrid); 108 } 109 } 110 111 private void BindTable(DataTable table, GridView grid) 112 { 113 string total = table.Compute("sum(hits)", null).ToString(); 114 115 DataView view = new DataView(table); 116 view.Sort = "hits desc"; 117 118 grid.DataSource = view; 119 grid.DataBind(); 120 121 if (grid.Rows.Count > 0) 122 { 123 grid.FooterRow.Cells[0].Text = "Total"; 124 grid.FooterRow.Cells[1].Text = total; 125 } 126 127 PaintRows(grid, 3); 128 } 129 130 private string MakeShortUrl(string url) 131 { 132 if (url.Length > 150) 133 return url.Substring(0, 150) + "..."; 134 135 return Server.HtmlEncode(url.Replace("http://", string.Empty).Replace("www.", string.Empty)); 136 } 137 138 /// <summary> 139 /// Paints the background color of the alternate rows 140 /// in the gridview. 141 /// </summary> 142 private void PaintRows(GridView grid, int alternateRows) 143 { 144 if (grid.Rows.Count == 0) 145 return; 146 147 int count = 0; 148 for (int i = 0; i < grid.Controls[0].Controls.Count - 1; i++) 149 { 150 if (count > alternateRows) 151 (grid.Controls[0].Controls[i] as WebControl).CssClass = "alt"; 152 153 count++; 154 155 if (count == alternateRows + alternateRows + 1) 156 count = 1; 157 } 158 } 159 160} 161
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:BlogEngine v1.3 多皮肤多语言版源码

- Asp.net+Flash实现无刷新上传

- 古城留言板系统 v1.0(含C#源码)

- Linq三层模式之增删改源码

- Asp.net客户服务跟踪管理系统..

- 某大学学生管理系统(毕业设..

- 仿新浪投票系统源码

- 掘客Digg新闻发掘系统源码

- Asp.net2.0车票管理系统

51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号