无法将类型“string”隐式转换为“string[]”
string[] strDir2List = Request.QueryString.Get("dir");
错误如题,要怎么转换呀?
问题点数:20、回复次数:9Top
1 楼luluso(真系好难捉摸啊!!)回复于 2004-09-01 00:25:36 得分 0
string strDir2List = Request.QueryString.Get("dir");Top
2 楼saucer(思归)回复于 2004-09-01 00:26:47 得分 20
if you are expecting an array, try
string[] strDir2List = Request.QueryString.GetValues("dir");
otherwise
string strDir = Request.QueryString["dir"];Top
3 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-09-01 00:49:59 得分 0
老大的对,但是又出现了其他错误:
----------------------------------------
ListDrives.aspx 驱动器列表(这个没问题)
-------------------------------
<% @Page Language="C#"%>
<% @Import Namespace="System.IO" %>
<%
string[] achDrives = Directory.GetLogicalDrives();
int nNumOfDrives = achDrives.Length;
Response.Write("<ul>");
for(int i = 0;i < nNumOfDrives;i++){
Response.Write("<li><a href=\"listdir.aspx?dir=");
Response.Write(Server.UrlEncode(achDrives[i]));
Response.Write("\">" + achDrives[i]);
Response.Write("</a><br>");
}
Response.Write("</ul>");
%>
-------------------------------------------
listdir.aspx 目录列表(dir是从上面传过来的参数)
---------------------------------------------------
<% @Page Language="C#"%>
<% @Import Namespace="System.IO" %>
<%
string[] strDir2List = Request.QueryString.GetValues("dir");//按老大的方法没问题了
Directory thisOne = null;
try{
thisOne = new Directory(strDir2List);//新问题:重载“Directory”方法未获取“1”参数
//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[] theFile = thisOne.GetFiles();
Response.Write("<ul>");
for(int i = 0;i < theFile.Length;i++){
Response.Write("<li><a href=\"showfile.aspx?dir=");
Response.Write(Server.UrlEncode(theFile[i].FullName));
Response.Write("\">" + theFile[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();
}
%>
Top
4 楼saucer(思归)回复于 2004-09-01 02:11:09 得分 0
you should start to learn how to use code behind, but for now, try
listdir.aspx:
<% @Page Language="C#"%>
<% @Import Namespace="System.IO" %>
<%
string strDir= Request.QueryString["dir"];
if (strDir == null || strDir == String.Empty) return;
DirectoryInfo thisOne = null;
try{
thisOne = new DirectoryInfo(strDir);//新问题:重载“Directory”方法未获取“1”参数
//Reading the directory properties
Response.Write("<p>Creation:" + thisOne.CreationTime.ToString() + "</p>");
DirectoryInfo[] 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>");
FileInfo[] theFile = thisOne.GetFiles();
Response.Write("<ul>");
for(int i = 0;i < theFile.Length;i++){
Response.Write("<li><a href=\"showfile.aspx?dir=");
Response.Write(Server.UrlEncode(theFile[i].FullName));
Response.Write("\">" + theFile[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();
}
%>
Top
5 楼xiaohutushen(程序人生)回复于 2004-09-01 07:52:35 得分 0
学习Top
6 楼listhome(不想睡)(专回百分贴)回复于 2004-09-01 08:11:59 得分 0
DirectoryInfo()
你查查Msdn
这个方法应有二个参数,你少了第二个参数Top
7 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-09-01 18:38:03 得分 0
to ; saucer(思归/MVP) ( )
if (strDir == null || strDir == String.Empty) return;
运算符“==”无法应用于“string[]”和“string”类型的操作数Top
8 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-09-01 18:41:07 得分 0
to ; saucer(思归/MVP) ( )
错啦,老大,不好意思,没看到这句
string strDir= Request.QueryString["dir"];
也改了,SORRY
Top
9 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2004-09-01 18:46:39 得分 0
好啦,谢谢各位,程序中还有一点错误:
File[] theFile = thisOne.GetFiles();
改为:
FileInfo[] theFile = thisOne.GetFiles();
出学.net,好多属性方法都不知道,书上代码又是错的,害苦我啦,看来得好好看看基础的东东。Top
相关问题
- 隐式转换 enum 类型
- 无法将类型“System.Array”隐式转换为“string[]”
- 编译器错误信息: CS0029: 无法将类型“string”隐式转换为“bool”
- 运行下面的代码出现错误: 无法将类型“string”隐式转换为“System.Data.SqlClient.SqlParameter”
- 请问各位专家,无法将类型"string"隐式转换为"bool",怎么办?
- 隐式类型转换和显式类型转换有什么区别呢?
- 隐式类型转换的3个问题
- 请教《c++ primer》习题:关于隐式类型转换
- 无法将类型“int”隐式转换为“System.Data.SqlClient.SqlDataReader”?怎么解决?
- 无法将类型“double”隐式转换为“int”




