自己动手做博客之日志管理-4.2 查看日志正文

原创 2007年10月11日 13:06:00

    日志正文是系统中最重要的模块之一,作为博客系统为最终用户提供浏览日志内容的功能是必不可少的。通常一次仅能浏览一条日志,这里我们仍然使用Repeater控件来显示其内容,如图1-8所示即为布局后的日志正文。

1-8  布局日志正文

    与日志列表类似,这里也需要一个参数来指定浏览日志的编号,ShowLog.aspx.cs文件中的页面载入代码如下:

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            if (Request["id"]!= null) {

                dbconfig dbconn = new dbconfig();

                String sql = "SELECT * FROM info  where id="+Request["id"];

                repLog.DataSource = dbconn.CreateSource(sql);

                repLog.DataBind();

                //更新阅读次数

                dbconn.ExecuteNonQuery("update info set hits=hits+1 where id=" + Request["id"]);

                dbconn.Clear();

            }

        }

}

    代码中Request["id"]获取的是欲浏览日志的编号,在下面的代码看出repLog为图1-8所示布局Repeater控件的ID,最后更新了该日志的阅读次数并关闭连接。这些数据来自info表,运行效果如图1-9所示。

1-9  浏览日志正文

    日志正文模块中除应该提供浏览内容之外,还应该为用户提供发表看法和意见入口,也样也体现了博客的互动性。评论模块的实现方法有很多,难易程序也不相同,有的需要注册才能发表,有的同时还需要验证码,还有一些则都不需要。

    这里为演示的方便,以简单为例,需要提供发表评论的署名和评论内容,主页作为可选的。在验证用户是否提供了这两个必备项时,使用的ASP.NET中提供的验证控件,当然也可以使用其他方法。

    ASP.NET服务器端验证控件可以在客户端直接验证用户输入,并显示出错消息。这些控件在正常情况下是不可见的,只有在用户输入数据错误时,它们才是可见的。服务器端验证控件主要包含六种:CompareValidator控件、CustomValidator控件、RangValidator控件、RegularExpressionValidator控件、RequireFieldValidator控件和ValidationSummary控件。下面对他们分别进行了简单描述:

l         RequireFieldValidator控件被称为非空验证控件,常用于文本输入框的非空验证。

l         CompareValidator控件为比较验证控件,主要用来比较两个TextBox控件的内容或者某个控件与某个固定表达式值是否相等。

l         RangValidator控件为范围验证控件,如果用户输入不在验证范围内时将引发页面错误。

l         RegluarExpressionValidator控件的又称为正则表达式验证控件,该控件用于确定输入控件的值是否与某个正则表达式所定义模式匹配。

l         ValidatorSummary控件又称为错误总结控件,用于显示控件的所有错误列表。

l         CustomValidator控件又称为自定义验证控件,该控件允许用户根据程序设计需要自定义控件的验证方法。

    在验证评论模块时,只需要使用RequireFieldValidator控件,使用该控件的一般语法形式为:

<asp:RequiredFieldValidator ID="MyRFV"

         runat="server" ErrorMessage="出错信息" ControlToValidate="需要验证的控件"

         Display="Static|Dymatic|None">

</asp:RequiredFieldValidator>

    代码中ControlToValidate属性值为被验证控件的IDRequireFieldValidator控件使用非常简单,如图1-10所示为评论页面的布局。

1-10  布局评论页面

    从图1-10右侧的【属性】窗格中可以看到,这个验证控件用来检测postAuthor(署名)是否为空,提示信息为“*必填项”,另一个验证控件是用来检测评论内容是否为空。

    单击“提交”按钮后,将会将这些信息添加到comment表中。btnSumbit_Click方法是它的实现代码如下:

    protected void btnSubmit_Click(object sender, EventArgs e)

    {

        if (Request["id"] != null)

        {

            string Author, Contnet, IP, URL;

            Author = postAuthor.Value;

            Contnet = postMemo.Value;

            URL = url.Value;

            IP = Request.UserHostAddress;

            dbconfig dbconn = new dbconfig();

            string strsql = "insert into comment(author,content,ip,date,url,sortid) values(";

            strsql += "'" + Author + "','" + Contnet + "','" + IP + "',";

            strsql += "'" + DateTime.Now.ToString() + "','" + URL + "'," + Request["id"]+")";

            dbconn.ExecuteNonQuery(strsql);

            dbconn.ExecuteNonQuery("update info set replyCount=replyCount+1 where id=" + Request["id"]);

            dbconn.Clear();

            Response.Write("<script>alert('添加成功');window.location.href='Default.aspx';</script>");

        }

    }

    在单击代码中第一次调用了数据库通用类中的ExecuteNonQuery()方法,它的参数为查询语句,由于方法没有返回值,通常在执行插入、更新和删除语句时使用。这里调用了两次这个方法,第一次为向commnet表中插入评论数据,第二次是更新info表中日志的评论数量。最后一行代码在数据库操作完成后,弹出对话框提示“添加成功”并转向首页,如图1-11所示。

1-11  添加评论

 

Jboss日志详解与优化实例

如果不进行优化配置,JBOSS下的项目查错将非常麻烦,在JBOSS4.2.2GA版本中,默认将所有的DEBUG信息都输了个遍,刚运行JBOSS,Server.log的日志就差不多1M了,再停掉JBOS...
  • huazaichang
  • huazaichang
  • 2015年01月09日 16:00
  • 1825

Linux系统中的日志管理

日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。 日志主要的功能有:审计和监测。它还可以实时的监测系统状态,监测和...
  • qq_25663723
  • qq_25663723
  • 2016年11月04日 17:15
  • 3774

程序员必看的程序日志处理挑战与方案!(阿里云日志管理平台)

程序日志(AppLog)有什么特点? 内容最全:程序日志是由程序员给出,在重要的地点、变量数值以及异常都会有记录,可以说线上90%以上Bug都是依靠程序日志输出定位到 格式比较随意:代码往...
  • u011001084
  • u011001084
  • 2017年07月18日 13:38
  • 355

weblogic日志管理

服务器日志  每个 WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。默认情况下,服务器日志文件位于服务器实例根目录下的 logs 目录中;例如...
  • haolongabc
  • haolongabc
  • 2014年04月17日 15:42
  • 18387

pptp vpn记录用户登录和流量信息

pptp vpn按照日期记录用户的登录信息
  • Lockvictor
  • Lockvictor
  • 2015年10月11日 20:31
  • 2142

运维日记017 -- RHEL6之系统日志的管理

运维日记017 – RHEL6之系统日志的管理Linux下的日志记录了系统每天发生的各种各样的事情,可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。RHE...
  • sailor201211
  • sailor201211
  • 2016年10月29日 11:04
  • 1359

系统日志管理

1、日志的查看 日志可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。 收集你想要的数据,分析...
  • u012582664
  • u012582664
  • 2017年02月22日 10:19
  • 945

生产环境构建指南:Web应用——集中式日志记录

提供:ZStack云计算 | 系列教程本教程为《生产环境构建指南:Web应用》系列六篇中的第六篇。内容简介在今天的教程中,我们将一同了解如何为生产环境设置集中式日志记录。集中式日志记录能够有效收集服务...
  • zstack_org
  • zstack_org
  • 2016年11月22日 09:53
  • 1105

Spring AOP 日志管理

1.对AOP的理解 ——  分工来做各个部分,运行时候整合的思想 2.理解 面向过程,面向对象,面向切面 的思想 1)面向过程:房间装修时,准备装一个灯,就拉一根电线,连接灯。 ...
  • u012554102
  • u012554102
  • 2015年10月27日 20:53
  • 1567

db2 日志管理

DB2日志是以文件的形式存放在文件系统中,分为两种模式:循环日志和归档日志。当创建新数据库时,日志的缺省模式是循环日志。在这种模式下,只能实现数据库的脱机备份和恢复。如果要实现联机备份和恢复,必须设为...
  • pianzif
  • pianzif
  • 2014年04月20日 19:01
  • 2762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己动手做博客之日志管理-4.2 查看日志正文
举报原因:
原因补充:

(最多只允许输入30个字)