⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 view.aspx.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 5 页
字号:
            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 + -