pc remote receiver:ASP.NET问题。详见问题补充。

来源:百度文库 编辑:高校问答 时间:2024/05/07 07:13:36
源代码如下:
<%@ page language="C#" debug="true" %>
<%@ import nameSpace="System.IO" %>
<%
string strDir2List=Request.QueryString.Get("dir");
Directory thisOne=null;
try
{
thisOne=new Directory(strDir2List);
//Reading the directory properties
Response.Write("<p>Creation:" + thisOne.CreationTime.ToString() + "</p>");
Directory[] subDirectories=thisOne.GetDirectories();
Response.Write("<ul>");
for(int i=0;i<subDirectories.Length;i++)
{
Response.Write("<li><a href=\"listdir.aspx?dir=");
Response.Write(Server.UrlEncode(subDirectories[i].FullName));
Response.Write("\">" + subDirectories[i].Name);
Response.Write("</a><br>");
}
Response.Write("</ul>");
File[] theFiles=thisOne.GetFiles();
Response.Write("<ul>");
for(int i=0;i<theFiles.Length;i++)
{
Response.Write("<li><a href=\"showfile.aspx?file=");
Response.Write(Server.UrlEncode(theFiles[i].FullName));
Response.Write("\">" + theFiles[i].Name);
Response.Write("</a><br>");
}
Response.Write("</ul>");
}
catch(Exception E)
{
Response.Write("Access not possible,error:<i>");
Response.Write(E.ToString() + "</i>");
Response.End();
}
%>

浏览器报错如下:
Compiler Error Message: CS1501: No overload for method 'Directory' takes '1' arguments
什么原因?如何解决才能完全正确(也没有其它错误)

根据MSDN:public sealed class Directory

可见Directory是不能用来实例化对象的.所有的 Directory 方法都是静态的.
所以thisOne=new Directory(strDir2List);
这个语句编译器根本不能编译.
PS:GetDirectories()方法返回的是一个string[]

错误原因找出来,程序你应该可以自己改了