当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP.NET编程实例ABC(3)

ASP
asp+语法教程(三)asp+的服务器端编程初步
asp+语法教程(四)asp+的服务器端编程进介
asp+语法教程(五)asp+的服务器端编程控件篇
asp+语法教程(六)数据库篇
从ASP迁移至ASP+
从ASP迁移至ASP+ --进入DataSet
从ASP迁移至ASP+ --HTML表格转换为ASP+列表
从ASP迁移至ASP+ --转换其他的页面
从ASP迁移至ASP+ --处理会话变量
ASP十步进阶
asp.net高级教程(一)-asp.net还是asp+ ?
asp.net高级教程(二)- 转换编程思维
asp.net高级教程(三)-对象
asp.net高级教程(三)-实战篇
asp.net高级教程(五)-实战篇(中)
ASP+中文教程(一)--asp+简介、安装、以及如何显示中文
asp+中文教程(二)-- Asp+ Web Forms
APS + 中文教程(三)--服务器端控制(一)
SQL数据操作基础(初级) 4
SQL数据操作基础(初级) 5

ASP.NET编程实例ABC(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 81 ::
收藏到网摘: n/a

      
  
  
  在 ASP.NET中显示事件日志记录
  在Windows 2000 或 NT中,事件日志对于管理员来说几乎是最重要的信息来源,因为所有发生的事件都在那里进行记录,无论是成功的操作,还是灾难性的失败。既然如此,你是否想过让这些信息在Web上呈现出来? 是的,这是很有意义的事情。
  我们都应该很熟悉下面的事件阅读器了,下面就示范如何使用AP.NET和.NET Framework SDK来美观、清晰地模仿其条目列表。我还给读者留下一个练习题,为一个条目的完整细节构造一个页面。
  
  
  较粗笨的方法
  如果必须又快又粗略地完成任务,那么完全可以利用ASP语言的相关技术来生成一个事件列表(甚至可以用表格,但是这个例子没有那样做)。程序的名字是 simple.aspx,代码如下:
  <% @Page Language="C#" %>
  <% @Import Namespace="System.Diagnostics" %>
  <%
  EventLog aLog = new EventLog();
  aLog.Log = "System";
  aLog.MachineName = "."; // Lokale Maschine
  string strImage = ""; // Icon für das Event
   
  Response.Write("<p>There are " + aLog.Entries.Count +
  " entries in the System event log.</p>");
   
  foreach (EventLogEntry entry in aLog.Entries)
  {
  switch (entry.EntryType)
  {
  case EventLogEntryType.Warning:
  strImage = "warning.png";
  break;
  case EventLogEntryType.Error:
  strImage = "error.png";
  break;
  default:
  strImage = "info.png";
  break;
  }
  Response.Write("<img src=\"" + strImage + "\"> | ");
  Response.Write(entry.TimeGenerated.ToString() + " | ");
  Response.Write(entry.Source + " | ");
  Response.Write(entry.EventID.ToString() + "<br>\r\n");
  }
  %>
  事件日志类可以在名称空间System.Diagnostics(系统诊断)中找到,这一部分在页面的开始定义。打开日志本身很直观:创建一个新EventLog对象,指定Log 和 MachineName ("." 是本地机器的意思)。到此我们可以读取事件日志的内容了。
  这将在一个 foreach循环中完成。我们在每个条目之前都放置一个图标,这样列表看起来就不至于那么平淡。另外,条目的列表顺序与通常的事件阅读器顺序相反:在这里,最老的条目列在最前面。
  使用DataGrid来设计得更美观
  ASP.NET带来了许多创新功能,尤其是在显示数据方面。比如,要显示的数据并不总是必须出自数据库。DataGrid Web Control 也是如此,正如其名称所示,它可以创建一个来自数据的表格或者栅格。唯一的前提是数据源要支持Icollection接口,而EventLog (事件日志)的Entries Collection(条目集合 )正是满足这一要求的。
  以下的文件datagrid.aspx演示了使用DataGrid是如何得简单:
  <% @Page Language="C#" %>
  <% @Import Namespace="System.Diagnostics" %>
  <script language="C#" runat="server">
  void Page_Load(Object sender, EventArgs e)
  {
  EventLog aLog = new EventLog();
  aLog.Log = "System";
  aLog.MachineName = ".";
   
  LogGrid.DataSource = aLog.Entries;
  LogGrid.DataBind();
  }
  </script>
  <body bgcolor="#ffffff">
   
  <h3>System Event Log</h3>
   
  <form runat="server">
  <ASP:DataGrid id="LogGrid" runat="server"
  BorderColor="black"
  BorderWidth="1"
  GridLines="Both"
  CellPadding="3"
  CellSpacing="0"
  Font-Name="Verdana"
  Font-Size="8pt"
  HeaderStyle-BackColor="#aaaadd"
  />
  </form>
   
  </body>
  </html>