📄 view.aspx.cs
字号:
dv1.Dispose();
//本月访问量
int Month = int.Parse(DateTime.Now.AddHours(0).Month.ToString());
DataTable dt4 = sta.sel_yearMonth(Month, viewid, NetCMS.Global.Current.SiteID,1);
dv1 = dt4.DefaultView;
dv1.Table.AcceptChanges();
intthismonth = dv1.Count; ThisMonthViewNum.Text = intthismonth.ToString();//赋值
dv1.Dispose();
//访问天数、平均每天访问量,计算平均值
//取得访问天数的值
viewdays = DateTime.Now.AddHours(0).Subtract(DateTime.Parse(starttimee)).TotalDays;
viewdayavg = total / viewdays;//计算平均值
double dbcf = System.Math.Pow(10, int.Parse(dv[0].Row["pointNum"].ToString()));
viewdays = (int)(viewdays * dbcf + 0.5) / dbcf;
StatDaysNum.Text = viewdays.ToString();//赋值(结果为在参数设置中相应小数位数的值)---访问天数-----
viewdayavg = (int)(viewdayavg * dbcf + 0.5) / dbcf; AverageDayViewNum.Text = viewdayavg.ToString();//赋值(结果为在参数设置中相应小数位数的值)平均日访问量
//预计今日访问量
double dblvdaylong = DateTime.Now.AddHours(0).Subtract(DateTime.Now.AddHours(0).Date).TotalDays;
inttodayguess = (int)(((inttoday / dblvdaylong) + intyesterday) / 2 + 0.5);
if (inttodayguess < inttoday) inttodayguess = (int)((inttoday / dblvdaylong) + 0.5); GuessTodayViewNum.Text = inttodayguess.ToString();//赋值
//当前用户访问量
System.Web.HttpCookie readcookie = Request.Cookies[Str_sysNameE];
if (readcookie != null && readcookie.Values["str_old"] != null)
{
intuserviewN = int.Parse(readcookie.Values["str_old"].ToString());
YourViewNum.Text = intuserviewN.ToString();//取得当前用户访问量
}
else
{
intuserviewN = 0;
YourViewNum.Text = intuserviewN.ToString();//取得当前用户访问量
}
}
}
#endregion
/// <summary>
/// 详细记录 的摘要说明。
/// </summary>
/// Code By ChenZhaoHui
protected void StatList(int PageIndex)//显示详细记录
{
//参数传递,得到相应类别下的统计
string viewid = "";
if (Request.QueryString["id"] != null)
{
viewid = Request.QueryString["id"];
}
int i, j;
int num = sta.Stat_Sql();//从参数设置里取得每页显示记录的条数
SQLConditionInfo[] sts = new SQLConditionInfo[2];
sts[0] = new SQLConditionInfo("@viewid", viewid);
sts[1] = new SQLConditionInfo("@SiteID", SiteID);
DataTable dt = NetCMS.Content.Pagination.GetPage("Manage_Stat_View_2_aspx", PageIndex, num, out i, out j, sts);
this.PageNavigator1.PageCount = j;
this.PageNavigator1.PageIndex = PageIndex;
this.PageNavigator1.RecordCount = i;
DataList1.DataSource = dt;
DataList1.DataBind();
}
/// <summary>
/// 24小时统计 的摘要说明。
/// </summary>
/// Code By ChenZhaoHui
//24小时统计显示相关函数HourStat
public string HourStat(int show_flag)
{
//定义的参数控制显示提示用
string strHourStat_msg1 = "";
string strHourStat_msg2 = "";
string strHourStat_msg3 = "";
string strHourStat_msg4 = "";
//定义数组
int[] intvhour = new int[24];
int intmaxhour = 0;
int intsumhour = 0;
int intthehour;
int lsbf;
//参数传递,得到相应类别下的统计
string viewid = Request.QueryString["id"];
for (int i = 0; i < 24; i++)
{
intvhour[i] = vhourcon(i);
if (intvhour[i] > intmaxhour) intmaxhour = intvhour[i];
intsumhour += intvhour[i];
}
//防止除数为0出错
if (intmaxhour == 0) intmaxhour = 1;
if (intsumhour == 0) intsumhour = 1;
for (int i = 0; i < 24; i++)
{
intthehour = int.Parse(DateTime.Now.AddHours(0).Hour.ToString()) + i + 1;
if (intthehour > 23) intthehour -= 24;
strHourStat_msg1 += "<td width=15 valign=bottom background='../../sysImages/StatIcon/tu_back.gif' align=center><img style='BORDER-BOTTOM: #000000 1px solid;' src='../../sysImages/StatIcon/tu.gif' height='";
#region 计算统计次数等信息
strHourStat_msg1 += (int)(float.Parse(intvhour[intthehour].ToString()) / intmaxhour * 100) + "' width='12' alt='" + intthehour + "时,访问" + intvhour[intthehour] + "次,";
#endregion
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(intvhour[intthehour].ToString()) * 1000 / intsumhour) / 10;
strHourStat_msg1 += lsbf + "% " + CopyRight + "'></td>";
strHourStat_msg2 += "<td width=15 align=center><a title='" + intthehour + "时,访问" + intvhour[intthehour] + "次,";
strHourStat_msg2 += lsbf + "% " + CopyRight + "'><font face='Arial' style='letter-spacing: -1'>" + intthehour + "</font></a></td>";
}
DataView dv1 = new DataView(); //定义24小时统计视图
//执行操作,返回数据更新数据库
DataTable dt5 = sta.sel_Stat(viewid, SiteID,1);
dv1 = dt5.DefaultView;
dv1.Table.AcceptChanges();//提交上次调用AcceptChanges()后对表的所有更改
int[] intvallhour = new int[24];
int intmaxallhour = 0;
int intsumallhour = 0;
for (int i = 0; i < dv1.Count; i++)
{
intvallhour[int.Parse(dv1[i].Row["vhour"].ToString())] = int.Parse(dv1[i].Row["allhour"].ToString());
if (intvallhour[int.Parse(dv1[i].Row["vhour"].ToString())] > intmaxallhour) intmaxallhour = intvallhour[int.Parse(dv1[i].Row["vhour"].ToString())];
intsumallhour += intvallhour[int.Parse(dv1[i].Row["vhour"].ToString())];
}
dv1.Dispose();//释放资源
//防止除数为0出错
if (intmaxallhour == 0) intmaxallhour = 1;
if (intsumallhour == 0) intsumallhour = 1;
for (int i = 0; i < 24; i++)
{
strHourStat_msg3 += "<td width=\"15\" valign=bottom background='../../sysImages/StatIcon/tu_back.gif' align=center><img style='BORDER-BOTTOM: #000000 1px solid;' src='../../sysImages/StatIcon/tu.gif' height='";
//计算统计次数
strHourStat_msg3 += (int)(float.Parse(intvallhour[i].ToString()) / intmaxallhour * 100) + "' width='12' alt='" + i + "时,访问" + intvallhour[i] + "次,";
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(intvallhour[i].ToString()) * 1000 / intsumallhour) / 10;
strHourStat_msg3 += lsbf + "% " + CopyRight + "'></td>";
strHourStat_msg4 += "<td width=15 align=center><a title='" + i + "时,访问" + intvallhour[i] + "次,";
strHourStat_msg4 += lsbf + "% " + CopyRight + "'><font face='Arial' style='letter-spacing: -1'>" + i + "</font></a></td>";
}
switch (show_flag)
{
//最近24小时访问统计
case 0:
hour_lbhigh1.Text = ((int)((float)(intmaxhour) * 10 + 0.5) / 10).ToString();
hour_lbhigh2.Text = ((float)(int)((3 * (float)(intmaxhour) * 10 / 4) + 0.5) / 10).ToString();
hour_lbhigh3.Text = ((float)(int)(((float)(intmaxhour) * 10 / 2) + 0.5) / 10).ToString();
hour_lbhigh4.Text = ((float)(int)(((float)(intmaxhour) * 10 / 4) + 0.5) / 10).ToString();
return "";
case 1:
return strHourStat_msg1 + "<td width=10><img src='../../sysImages/StatIcon/tu_back_right.gif'></td><td width=10></td></tr><tr><td align=right><p style='line-height: 100%; margin-right: 2; margin-top: 0; margin-bottom: 0'><font face='Arial'>0</font></td><td width=10></td>" + strHourStat_msg2;
//所有24小时访问统计
case 2:
hour_lbhigh5.Text = ((int)((float)(intmaxallhour) * 10 + 0.5) / 10).ToString();
hour_lbhigh6.Text = ((float)(int)((3 * (float)(intmaxallhour) * 10 / 4) + 0.5) / 10).ToString();
hour_lbhigh7.Text = ((float)(int)(((float)(intmaxallhour) * 10 / 2) + 0.5) / 10).ToString();
hour_lbhigh8.Text = ((float)(int)(((float)(intmaxallhour) * 10 / 4) + 0.5) / 10).ToString();
return "";
case 3:
return strHourStat_msg3 + "<td width=10><img src='../../sysImages/StatIcon/tu_back_right.gif'></td><td width=10></td></tr><tr><td align=right><p style='line-height: 100%; margin-right: 2; margin-top: 0; margin-bottom: 0'><font face='Arial'>0</font></td><td width=10></td>" + strHourStat_msg4;
default:
return "";
}
}
public int vhourcon(int thehour)
{
DataView dv2 = new DataView();//初始化
//参数传递,得到相应类别下的统计
string viewid = Request.QueryString["id"];
if (thehour == int.Parse(DateTime.Now.AddHours(0).Hour.ToString()))
{
//执行操作,返回数据更新数据库
int vhour = int.Parse(DateTime.Now.AddHours(0).Hour.ToString());
int vday = int.Parse(DateTime.Now.AddHours(0).Day.ToString());
int vmonth = int.Parse(DateTime.Now.AddHours(0).Month.ToString());
int vyear = int.Parse(DateTime.Now.AddHours(0).Year.ToString());
DataTable dt = sta.sel_vhourcon(vhour, vday, vmonth, vyear, viewid, SiteID);
dv2 = dt.DefaultView;
dv2.Table.AcceptChanges();//提交上次调用AcceptChanges()后对表的所有更改
if (dv2.Count > 0)
{
return int.Parse(dv2[0].Row["vhourcon"].ToString());
}
else
{
dv2.Dispose();//释放资源
return 0;
}
}
else
{
string vtime = DateTime.Now.AddHours(0).AddDays(-1).ToString();
DataTable dt1 = sta.sel_statCount(thehour, vtime, viewid, SiteID);
//执行操作,返回数据更新数据库
dv2 = dt1.DefaultView;
dv2.Table.AcceptChanges();//提交上次调用AcceptChanges()后对表的所有更改
if (dv2.Count > 0)
{
return int.Parse(dv2[0].Row["vhourcon"].ToString());
}
else
{
dv2.Dispose();
return 0;
}
}
}
/// <summary>
///日统计的摘要说明。
/// </summary>
/// Code By ChenZhaoHui
//日统计显示相关函数DayStat
public string DayStat(int show_flag)
{
//找到开始统计天数,如果天数不足31天,则跳过前面的空间
string strDayStat_msg1 = "";
string strDayStat_msg2 = "";
string strDayStat_msg3 = "";
string strDayStat_msg4 = "";
int intmaxday = 0;
int intsumday = 0;
string[] strweek = new string[] { "日", "一", "二", "三", "四", "五", "六", "" };
string strvfirst;
int intvdays;
int lsbf;
//参数传递,得到相应类别下的统计
string viewid = Request.QueryString["id"];
//日统计视图定义
DataView dv1 = new DataView();
DataTable dt = sta.sel_Stat(viewid, SiteID,2);
dv1 = dt.DefaultView;
dv1.Table.AcceptChanges();//提交更改的数据
if (dv1.Count > 0)
{
strvfirst = dv1[0].Row["vtime"].ToString();
}
else
{
strvfirst = DateTime.Now.AddHours(0).ToString();
}
dv1.Dispose();
intvdays = (int)(DateTime.Now.AddHours(0).Subtract(DateTime.Parse(strvfirst)).TotalDays);
//声明二维数组,voutday(*,0)为访问量,voutday(*,1)为日期,voutday(*,2)为星期
int[,] arvday = new int[31, 3];
string[,] arvoutday = new string[31, 3];
for (int i = 0; i < 31; i++)
{
arvday[i, 0] = vdaycon(DateTime.Now.AddHours(0).AddDays(i - 30).ToShortDateString());
if (arvday[i, 0] > intmaxday) intmaxday = arvday[i, 0];
intsumday += arvday[i, 0];
arvday[i, 1] = (int)(DateTime.Now.AddHours(0).AddDays(i - 30).Day);
arvday[i, 2] = (int)(DateTime.Now.AddHours(0).AddDays(i - 30).DayOfWeek);
}
//防止除数为0而出错
if (intmaxday == 0) intmaxday = 1;
if (intsumday == 0) intsumday = 1;
//根据已统计天数将数值左移
if (intvdays >= 31)
{
for (int i = 0; i < 31; i++)
{
arvoutday[i, 0] = arvday[i, 0].ToString();
arvoutday[i, 1] = arvday[i, 1].ToString();
arvoutday[i, 2] = arvday[i, 2].ToString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -