📄 view.aspx.cs
字号:
}
}
else
{
for (int i = 0; i < 31; i++)
{
if (i <= intvdays)
{
arvoutday[i, 0] = arvday[i + 30 - intvdays, 0].ToString();
arvoutday[i, 1] = arvday[i + 30 - intvdays, 1].ToString();
arvoutday[i, 2] = arvday[i + 30 - intvdays, 2].ToString();
}
else
{
arvoutday[i, 0] = "0";
arvoutday[i, 1] = "";
arvoutday[i, 2] = "7";
}
}
}
for (int i = 0; i < 31; i++)
{
strDayStat_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'";
//计算统计次数
strDayStat_msg1 += " height='" + (int)(float.Parse(arvoutday[i, 0].ToString()) / intmaxday * 100) + "' width='12' alt='" + arvoutday[i, 1] + "日,星期" + strweek[int.Parse(arvoutday[i, 2].ToString())];
strDayStat_msg1 += ",访问" + arvoutday[i, 0] + "次,";
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(arvoutday[i, 0].ToString()) * 1000 / intsumday) / 10;
strDayStat_msg1 += lsbf + "% " + CopyRight + "'></td>";
strDayStat_msg2 += "<td width=15 align=center><a title='" + arvoutday[i, 1] + "日,星期" + strweek[int.Parse(arvoutday[i, 2].ToString())];
strDayStat_msg2 += ",访问" + arvoutday[i, 0] + "次,";
strDayStat_msg2 += lsbf + "% " + CopyRight + "'>";
switch (arvoutday[i, 2].ToString())
{
case "0":
strDayStat_msg2 += "<font face='Arial' style='letter-spacing: -1' color='red'>";
break;
case "6":
strDayStat_msg2 += "<font face='Arial' style='letter-spacing: -1' color='red'>";
break;
case "7":
strDayStat_msg2 += "<font face='Arial' style='letter-spacing: -1' class='fonts'>";
break;
default:
strDayStat_msg2 += "<font face='Arial' style='letter-spacing: -1'>";
break;
}
strDayStat_msg2 += arvoutday[i, 1] + "</font></a></td>";
}
//执行数据操作,更新数据库
DataTable dt1 = sta.sel_Stat(viewid, SiteID,3);
dv1 = dt1.DefaultView;
dv1.Table.AcceptChanges();//提交更改的数据
int intmaxallday = 0;
int intsumallday = 0;
int[] intvallday = new int[31];
for (int i = 0; i < dv1.Count; i++)
{
intvallday[int.Parse(dv1[i].Row["vday"].ToString()) - 1] = int.Parse(dv1[i].Row["allday"].ToString());
if (intvallday[int.Parse(dv1[i].Row["vday"].ToString()) - 1] > intmaxallday) intmaxallday = intvallday[int.Parse(dv1[i].Row["vday"].ToString()) - 1];
intsumallday += intvallday[int.Parse(dv1[i].Row["vday"].ToString()) - 1];
}
//防止除数为0而出错
if (intmaxallday == 0) intmaxallday = 1;
if (intsumallday == 0) intsumallday = 1;
dv1.Dispose();
for (int i = 0; i < 31; i++)
{
strDayStat_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'";
strDayStat_msg3 += " height='" + (int)(float.Parse(intvallday[i].ToString()) / intmaxallday * 100) + "' width='12' alt='";
strDayStat_msg3 += i + 1 + "日,访问" + intvallday[i] + "次,";
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(intvallday[i].ToString()) * 1000 / intsumallday) / 10;
strDayStat_msg3 += lsbf + "% " + CopyRight + "'></td>";
strDayStat_msg4 += "<td width=15 align=center><a title='" + i + 1 + "日,访问" + intvallday[i] + "次,";
strDayStat_msg4 += lsbf + "% " + CopyRight + "'><font face='Arial' style='letter-spacing: -1'>";
if ((i + 1) % 2 != 0) strDayStat_msg4 += i + 1;
strDayStat_msg4 += "</font></a></td>";
}
switch (show_flag)
{
//最近31天访问量
case 0:
day_lbhigh1.Text = ((int)((float)(intmaxday) * 10 + 0.5) / 10).ToString();
day_lbhigh2.Text = ((float)(int)((3 * (float)(intmaxday) * 10 / 4) + 0.5) / 10).ToString();
day_lbhigh3.Text = ((float)(int)(((float)(intmaxday) * 10 / 2) + 0.5) / 10).ToString();
day_lbhigh4.Text = ((float)(int)(((float)(intmaxday) * 10 / 4) + 0.5) / 10).ToString();
return "";
case 1:
return strDayStat_msg1 + "<td width=10><img src='../../sysImages/StatIcon/tu_back_right.gif'></td><td width=10></td></tr><tr height='18'><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>" + strDayStat_msg2;
//所有月分日访问量
case 2:
day_lbhigh5.Text = ((int)((float)(intmaxallday) * 10 + 0.5) / 10).ToString();
day_lbhigh6.Text = ((float)(int)((3 * (float)(intmaxallday) * 10 / 4) + 0.5) / 10).ToString();
day_lbhigh7.Text = ((float)(int)(((float)(intmaxallday) * 10 / 2) + 0.5) / 10).ToString();
day_lbhigh8.Text = ((float)(int)(((float)(intmaxallday) * 10 / 4) + 0.5) / 10).ToString();
return "";
case 3:
return strDayStat_msg3 + "<td width=10><img src='../../sysImages/StatIcon/tu_back_right.gif'></td><td width=10></td></tr><tr height='18'><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>" + strDayStat_msg4;
default:
return "";
}
}
/// <summary>
///周统计的摘要说明。
/// </summary>
/// Code By ChenZhaoHui
//周统计显示相关函数
public string WeekStat(int show_flag)
{
//找到开始统计天数,如果天数不足7天,则跳过前面的空间
string strWeekStat_msg1 = "";
string strWeekStat_msg2 = "";
string strWeekStat_msg3 = "";
string strWeekStat_msg4 = "";
string strvfirst;
int intvdays;
int intmaxday = 0;
int intsumday = 0;
string[] strweek = new string[] { "日", "一", "二", "三", "四", "五", "六", "" };
int lsbf;
//参数传递,得到相应类别下的统计
string viewid = Request.QueryString["id"];
//周统计视图定义
DataView dv1 = new DataView();
DataTable dt = sta.sel_Stat(viewid, SiteID,4);
dv1 = dt.DefaultView;
dv1.Table.AcceptChanges();
if (dv1.Count > 0)
{
strvfirst = dv1[0].Row["vfirst"].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[7, 3];
string[,] arvoutday = new string[7, 3];
for (int i = 0; i < 7; i++)
{
arvday[i, 0] = vdaycon(DateTime.Now.AddHours(0).AddDays(i - 6).ToShortDateString());
if (arvday[i, 0] > intmaxday) intmaxday = arvday[i, 0];
intsumday += arvday[i, 0];
arvday[i, 1] = (int)(DateTime.Now.AddHours(0).AddDays(i - 6).Day);
arvday[i, 2] = (int)(DateTime.Now.AddHours(0).AddDays(i - 6).DayOfWeek);
}
//防止除数为0而出错
if (intmaxday == 0) intmaxday = 1;
if (intsumday == 0) intsumday = 1;
//根据已统计天数将数值左移
if (intvdays >= 7)
{
for (int i = 0; i < 7; i++)
{
arvoutday[i, 0] = arvday[i, 0].ToString();
arvoutday[i, 1] = arvday[i, 1].ToString();
arvoutday[i, 2] = arvday[i, 2].ToString();
}
}
else
{
for (int i = 0; i < 7; i++)
{
if (i <= intvdays)
{
arvoutday[i, 0] = arvday[i + 6 - intvdays, 0].ToString();
arvoutday[i, 1] = arvday[i + 6 - intvdays, 1].ToString();
arvoutday[i, 2] = arvday[i + 6 - intvdays, 2].ToString();
}
else
{
arvoutday[i, 0] = "0";
arvoutday[i, 1] = "";
arvoutday[i, 2] = "7";
}
}
}
for (int i = 0; i < 7; i++)
{
strWeekStat_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'";
strWeekStat_msg1 += " height='" + (int)(float.Parse(arvoutday[i, 0].ToString()) / intmaxday * 100) + "' width='12' alt='" + arvoutday[i, 1] + "日,星期" + strweek[int.Parse(arvoutday[i, 2].ToString())];
strWeekStat_msg1 += ",访问" + arvoutday[i, 0] + "次,";
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(arvoutday[i, 0].ToString()) * 1000 / intsumday) / 10;
strWeekStat_msg1 += lsbf + "% " + CopyRight + "'></td>";
strWeekStat_msg2 += "<td width=15 align=center><a title='" + arvoutday[i, 1] + "日,星期" + strweek[int.Parse(arvoutday[i, 2].ToString())];
strWeekStat_msg2 += ",访问" + arvoutday[i, 0] + "次,";
strWeekStat_msg2 += lsbf + "% " + CopyRight + "'>";
switch (arvoutday[i, 2].ToString())
{
case "0":
strWeekStat_msg2 += "<font face='Arial' style='letter-spacing: -1' color='red'>";
break;
case "6":
strWeekStat_msg2 += "<font face='Arial' style='letter-spacing: -1' color='red'>";
break;
case "7":
strWeekStat_msg2 += "<font face='Arial' style='letter-spacing: -1' class='fonts'>";
break;
default:
strWeekStat_msg2 += "<font face='Arial' style='letter-spacing: -1'>";
break;
}
strWeekStat_msg2 += strweek[int.Parse(arvoutday[i, 2].ToString())] + "</font></a></td>";
}
//执行数据操作,更新数据
DataTable dt2 = sta.sel_Stat(viewid, SiteID,5);
dv1 = dt2.DefaultView;
dv1.Table.AcceptChanges();
int intmaxallweek = 0;
int intsumallweek = 0;
int[] intvallweek = new int[7];
for (int i = 0; i < dv1.Count; i++)
{
intvallweek[int.Parse(dv1[i].Row["vweek"].ToString())] = int.Parse(dv1[i].Row["allweek"].ToString());
if (intvallweek[int.Parse(dv1[i].Row["vweek"].ToString())] > intmaxallweek) intmaxallweek = intvallweek[int.Parse(dv1[i].Row["vweek"].ToString())];
intsumallweek += intvallweek[int.Parse(dv1[i].Row["vweek"].ToString())];
}
//防止除数为0而出错
if (intmaxallweek == 0) intmaxallweek = 1;
if (intsumallweek == 0) intsumallweek = 1;
dv1.Dispose();
for (int i = 0; i < 7; i++)
{
strWeekStat_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'";
strWeekStat_msg3 += " height='" + (int)(float.Parse(intvallweek[i].ToString()) / intmaxallweek * 100) + "' width='12' alt='星期";
strWeekStat_msg3 += strweek[i] + ",访问" + intvallweek[i] + "次,";
//计算访问量的百分数,精确到小数后1位,小于零的在前面加字母0
lsbf = (int)(int.Parse(intvallweek[i].ToString()) * 1000 / intsumallweek) / 10;
strWeekStat_msg3 += lsbf + "% " + CopyRight + "'></td>";
strWeekStat_msg4 += "<td width=15 align=center><a title='星期" + strweek[i] + ",访问" + intvallweek[i] + "次,";
strWeekStat_msg4 += lsbf + "% " + CopyRight + "'><font face='Arial' style='letter-spacing: -1'>" + strweek[i] + "</font></a></td>";
}
switch (show_flag)
{
case 0:
week_lbhigh1.Text = ((int)((float)(intmaxday) * 10 + 0.5) / 10).ToString();
week_lbhigh2.Text = ((float)(int)((3 * (float)(intmaxday) * 10 / 4) + 0.5) / 10).ToString();
week_lbhigh3.Text = ((float)(int)(((float)(intmaxday) * 10 / 2) + 0.5) / 10).ToString();
week_lbhigh4.Text = ((float)(int)(((float)(intmaxday) * 10 / 4) + 0.5) / 10).ToString();
return "";
case 1:
return strWeekStat_msg1 + "<td width=10><img src='../../sysImages/StatIcon/tu_back_right.gif'></td><td width=10></td></tr><tr height='18'><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>" + strWeekStat_msg2;
case 2:
week_lbhigh5.Text = ((int)((float)(intmaxallweek) * 10 + 0.5) / 10).ToString();
week_lbhigh6.Text = ((float)(int)((3 * (float)(intmaxallweek) * 10 / 4) + 0.5) / 10).ToString();
week_lbhigh7.Text = ((float)(int)(((float)(intmaxallweek) * 10 / 2) + 0.5) / 10).ToString();
week_lbhigh8.Text = ((float)(int)(((float)(intmaxallweek) * 10 / 4) + 0.5) / 10).ToString();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -