〖ASP.NET是微软.NET宏大战略的一...... ASP.NET是微软.NET宏大战略的一部分。我们不能仅仅将它看成是ASP语言的进化版本,它所能发挥的威力将使开发人员激动与惊喜,更快、更好地实现梦想!本文就介绍ASP.NET的几个常用实例,通过与ASP语言实现方式的对比,让我们对它的强大眼见为实!实例内容(包括下载代码)如下: ● 在ASP.NET中实现目录浏览 ● 在ASP.NET中随意创建图形信息 ● 在ASP.NET中显示事件日志记录 要运行这些例程,需要在Web服务器上安装Microsoft .NET Framework SDK。要理解代码的含义,需要对C# 编程语言有一定程度的了解。 在ASP.NET中实现目录浏览 在用ASP语言编程的"美好旧时光"中,我们应该不会忘记FileSystemObject对象。它允许对文件系统进行读、写以及目录浏览。但是这个对象模型并不十分完善,比如对于二进制文件来说,还没有开始操作就已经到达范围的结尾了。另外,还有一些希望的函数和属性在ASP中也没有具备。 但是出现了ASP.NET,这些愿望就都能在System.IO 名称空间中被 .NET Framework 类所实现。你会发现,文件处理从没有这么容易过,而且最重要的是从没有这么强大过。 这里,我们将演示文件处理的一个部分:文件和目录列表。我们创建了一些脚本程序,你可以将其应用在自己的应用程序中。 列举驱动器 首先,我们要知道在计算机上有哪些可浏览的驱动器,这些代码保存在文件listdrives.aspx中: <% @Page Language="C#" %> <% @Import Namespace="System.IO" %> <% string[] achDrives = Directory.GetLogicalDrives(); int nNumOfDrives = achDrives.Length; Response.Write("
for (int i=0; i < nNumOfDrives; i++) { Response.Write(" %> 根据 @Import 名称空间标识,在System.IO 名空间中有一个类叫做Directory,它包含了一些可用于目录上的功能。这个类中还包含静态(不需要对象例示就能调用的)方法GetLogicalDrives,它提供了包含驱动器字母的一个字符串数列。 当然,不能只有一个从GetLogicalDrives 获取的驱动器简单列表,还需要增加了一个页面,在这个页面中提供有关驱动器根目录的信息。 列出目录和文件 有了目录,我们就可以进一步探索子目录、文件以及目录本身的属性(如创建的日期等)了。文件 listdir.aspx 演示了如何执行这些功能: <% @Page Language="C#" %> <% @Import Namespace="System.IO" %> <% string strDir2List = Request.QueryString.Get("dir"); Directory thisOne = null; try { thisOne = new Directory(strDir2List); // Reading the directory properties Response.Write(" Creation: " + Directory[] subDirectories = thisOne.GetDirectories(); Response.Write("
for (int i=0; i < subDirectories.Length; i++) { Response.Write(" File[] theFiles = thisOne.GetFiles(); Response.Write("
for (int i=0; i < theFiles.Length; i++) { Response.Write(" } catch (Exception e) { Response.Write("Access not possible, error: "); Response.Write(e.ToString() + ""); Response.End(); } %> 我们使用GetDirectories方法实现目录信息的读取。这个方法返回一个目录对象数组,我们可以用这个数组来建立想要的功能,比如说建立一个更深入的链接。这同样适用于GetFiles方法,它返回一个文件对象数组。 你可能注意到这里使用了try-catch语句。是的,这是为了防止例外情况的发生。比如,当用户试图访问一些不允许他访问的内容时。 显示文件信息 现在到了文件这一级。一个文件有许多属性,为了缩短脚本,下面的例程(文件showfile.aspx)只显示了其中的一些: <% @Page Language="C#" %> <% @Import Namespace="System.IO" %> <% string strFile2Show = Request.QueryString.Get("file"); File thisOne = new File(strFile2Show); %>
<% StreamReader theReader = thisOne.OpenText(); char[] theBuffer = new char[255]; int nRead = theReader.ReadBlock(theBuffer, 0, 255); Response.Write(" ");"); %> 为了演示实现的简单性,在这段脚本代码的结尾处抄了个近路执行文件的读取。首先,打开一个 StreamReader 对象,创建一个缓冲器,用ReadBlock方法来填充缓冲器,并且将 HTML编码段传递给客户;然后很快地就形成了一个小型的"文件预览"。没有费多大周折,你看操作文件的内容是多么得简单 :-) 递归循环以显示目录列表 最后,我们还要编写一个创建目录树的程序recursivelisting.aspx。在其中,我们使用函数RecursiveDump来生成目录树。请看具体代码: <% @Page Language="C#" %> <% @Import Namespace="System.IO" %> <% string strDir2List = Request.QueryString.Get("dir"); Directory thisOne = new Directory(strDir2List); Response.Write(" ");"); %> 为了简单起见,这里只使用了空格来生成目录树结构。为使空格在HTML中可以生效,我们必须使用 标记,否则这些空格就会被忽视。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 01:33 , Processed in 0.179651 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.