当前位置:编程学习 > C#/ASP.NET >>

ASP。NET 有没有一个选择目录的控件,不是选择文件的。。哪位高手来指点一下

兄弟没那么多分了。。。全部拿来了 --------------------编程问答-------------------- UP --------------------编程问答-------------------- UP --------------------编程问答-------------------- IP --------------------编程问答-------------------- ASDF --------------------编程问答-------------------- ASD --------------------编程问答-------------------- UO --------------------编程问答-------------------- 一个选择目录的控件?没听说过这个东东~~ --------------------编程问答-------------------- 就象安装程序在安装的时候会出现安装的目录一样是的。。。。 --------------------编程问答-------------------- 就象安装程序在安装的时候会出现让你选择安装的目录一样是的。。。。 --------------------编程问答-------------------- 有没有人帮忙解决一下啊,谢谢了啊
--------------------编程问答-------------------- 你的分那么多拉
--------------------编程问答-------------------- 在哪?我怎么没看到? --------------------编程问答-------------------- FolderBrowserDialog --------------------编程问答-------------------- 楼上的,这个的命名空间是 System.Windows ,我在WEB 程序里用不了啊。。。不过也要谢谢 --------------------编程问答-------------------- 郁闷了,等了大半天了。来人啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 --------------------编程问答-------------------- 自己写一个最实际
--------------------编程问答-------------------- 你想让别人通过WEB就可以知道你SERVER上面的文件结构,你可以尝试写一个,应该不难 --------------------编程问答-------------------- 转一个2004年收集的,作者忘了是谁了,不过有js安全限制,需要alert提醒用户打开限制
---------------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<script language=vbscript>
Function ReplaceStr(Str,Str1,Str2)
ReplaceStr = Replace(Str,Str1,Str2)
End Function
</script>
<script language=javascript>
var oldSelect=null;
//var FileSystem = opener.Fso
try
{
var FileSystem = new ActiveXObject("Scripting.FileSystemObject")
}
catch(e)
{
alert("ÄúµÄä¯ÀÀÆ÷°²È«¼¶±ðÌ«¸ß£¬ÎÞ·¨±£´æ£¬Çëµ÷ÕûÄúµÄ°²È«¼¶±ðµ½µÍ")
}
function setDir(dir)
{

var sTAG = window.event.srcElement;
//opener.form1.Path.value = dir;

if(sTAG.tagName.toLowerCase()!="img")
{
//sTAG.bgColor="blue"
if(oldSelect!=null)
{
oldSelect.style.background="#FFFFFF"
}
sTAG.style.background="#FFFF00"
oldSelect = sTAG;
}
alert(dir)
}

function test(tID,Dir,Level,Str)
{
setDir(Dir);
var Div = document.all(tID);
if(Div.style.display =="")
{
Div.style.display = "none"
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "cdir.gif";
if(Img1.src.lastIndexOf("minusl.gif")>=0)
{
Img1.src = "plusl.gif"
}
else
{
Img1.src = "plus.gif"
}

}
}
else
{
if(Div.innerHTML!="")
{
Div.style.display =""
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
}
else
{
var DirStr = GetDir(Dir,Level,Str)
if(DirStr!="")
{
Div.style.display =""
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
//alert(Img1.src)
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
Div.innerHTML = DirStr
}
else
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
//alert(Img1.src)
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
}
}
}
function GetDir(Dir,Level,Str)
{
//var plus = "<IMG SRC=plus.gif WIDTH=16 Border=0>"
//var plusl = "<IMG SRC=plusl.gif WIDTH=16 Border=0>"
var line = "<IMG SRC=line.gif WIDTH=16 Border=0>"
var space = "<IMG SRC=space.gif WIDTH=16 Border=0>"
//var cdir = "<IMG SRC=cdir.gif WIDTH=16 Border=0>"
var FunF,FunFolders 
var s="";
var tempStr
try
{
FunF = FileSystem.GetFolder(Dir)
FunFolders = new Enumerator(FunF.SubFolders);

var count=0
for(; !FunFolders.atEnd();FunFolders.moveNext())
{
count += 1

}
FunFolders.moveFirst()
var i = 0
for(; !FunFolders.atEnd();FunFolders.moveNext())
{
var path = ReplaceStr(FunFolders.item(),":","")
path = ReplaceStr(path,"\\","_")
path = ReplaceStr(path," ","_")
path = ReplaceStr(path,".","_")
var L = parseInt(Level)+1
var dir = FunFolders.item()
dir = ReplaceStr(dir,"\\","\\\\")

s += "<table border='0' cellspacing='0' cellpadding='0'>"
s += "<tr>"
s += "<td>"
i += 1
if(i==count)
{
tempStr = Str + space
s += Str + "<IMG style=cursor:Hand SRC=plusl.gif WIDTH=16 Border=0 id=Img1_" + path + " onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'>" + "<IMG SRC=cdir.gif WIDTH=16 Border=0 id=Img2_" + path + ">"
}
else
{
tempStr = Str + line
s += Str + "<IMG style=cursor:Hand SRC=plus.gif WIDTH=16 Border=0 id=Img1_" + path + " onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'>" + "<IMG SRC=cdir.gif WIDTH=16 Border=0 id=Img2_" + path + ">"
}
s += "</td>"
s += "<td>"

s += " <a href='#' onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'><FONT FACE='ËÎÌå' SIZE=2>" + FunFolders.item().Name +"</FONT></a>"
s += "</td>"
s += "</tr>"
s += "</table>"
s += "<Div id=" + path +" style='display:None'></Div>"
}
}
catch(e)
{

}
return s
}
function GetDrive()
{
var Drives,Drive,s,Name,f,Folders
Drives = new Enumerator(FileSystem.Drives);
s = "";
for (; !Drives.atEnd(); Drives.moveNext())
{
Drive = Drives.item();
    if (Drive.DriveType == 3)
{
Name = Drive.ShareName;
}
    else if (Drive.IsReady)
{
Name = Drive.VolumeName;
}
else
{
Name = "[ÈíÇý]";
}
document.write("<table border='0' cellspacing='0' cellpadding='0'><tr><td><IMG SRC='fdisk.gif' style=cursor:Hand WIDTH=16 onclick='javascript:test(\"" + Drive.DriveLetter + "\",\"" + Drive.DriveLetter + ":\\\\\"," + 0 + ",\"\")'></td><td> <a href=# onclick='javascript:test(\"" + Drive.DriveLetter + "\",\"" + Drive.DriveLetter + ":\\\\\"," + 0 + ",\"\")'><FONT FACE='ËÎÌå' SIZE=2>" + Name + "(" + Drive.DriveLetter + ":)</FONT></a></td></tr></table>")
document.write("<Div id=" + Drive.DriveLetter +" style='display:None'></Div>")
}
}
GetDrive()
</script>
</body>
</html>
--------------------编程问答-------------------- 怎么是乱码?重新来---
--------------------------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<script language=vbscript>
Function ReplaceStr(Str,Str1,Str2)
ReplaceStr = Replace(Str,Str1,Str2)
End Function
</script>
<script language=javascript>
var oldSelect=null;
//var FileSystem = opener.Fso
try
{
var FileSystem = new ActiveXObject("Scripting.FileSystemObject")
}
catch(e)
{
alert("您的浏览器安全级别太高,无法保存,请调整您的安全级别到低")
}
function setDir(dir)
{

var sTAG = window.event.srcElement;
//opener.form1.Path.value = dir;

if(sTAG.tagName.toLowerCase()!="img")
{
//sTAG.bgColor="blue"
if(oldSelect!=null)
{
oldSelect.style.background="#FFFFFF"
}
sTAG.style.background="#FFFF00"
oldSelect = sTAG;
}
alert(dir)
}

function test(tID,Dir,Level,Str)
{
setDir(Dir);
var Div = document.all(tID);
if(Div.style.display =="")
{
Div.style.display = "none"
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "cdir.gif";
if(Img1.src.lastIndexOf("minusl.gif")>=0)
{
Img1.src = "plusl.gif"
}
else
{
Img1.src = "plus.gif"
}

}
}
else
{
if(Div.innerHTML!="")
{
Div.style.display =""
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
}
else
{
var DirStr = GetDir(Dir,Level,Str)
if(DirStr!="")
{
Div.style.display =""
if(tID.length>1)
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
//alert(Img1.src)
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
Div.innerHTML = DirStr
}
else
{
var Img1 = document.all("Img1_" + tID);
var Img2 = document.all("Img2_" + tID);
Img2.src = "odir.gif";
//alert(Img1.src)
if(Img1.src.lastIndexOf("plusl.gif")>=0)
{
Img1.src = "minusl.gif"
}
else
{
Img1.src = "minus.gif"
}
}
}
}
}
function GetDir(Dir,Level,Str)
{
//var plus = "<IMG SRC=plus.gif WIDTH=16 Border=0>"
//var plusl = "<IMG SRC=plusl.gif WIDTH=16 Border=0>"
var line = "<IMG SRC=line.gif WIDTH=16 Border=0>"
var space = "<IMG SRC=space.gif WIDTH=16 Border=0>"
//var cdir = "<IMG SRC=cdir.gif WIDTH=16 Border=0>"
var FunF,FunFolders 
var s="";
var tempStr
try
{
FunF = FileSystem.GetFolder(Dir)
FunFolders = new Enumerator(FunF.SubFolders);

var count=0
for(; !FunFolders.atEnd();FunFolders.moveNext())
{
count += 1

}
FunFolders.moveFirst()
var i = 0
for(; !FunFolders.atEnd();FunFolders.moveNext())
{
var path = ReplaceStr(FunFolders.item(),":","")
path = ReplaceStr(path,"\\","_")
path = ReplaceStr(path," ","_")
path = ReplaceStr(path,".","_")
var L = parseInt(Level)+1
var dir = FunFolders.item()
dir = ReplaceStr(dir,"\\","\\\\")

s += "<table border='0' cellspacing='0' cellpadding='0'>"
s += "<tr>"
s += "<td>"
i += 1
if(i==count)
{
tempStr = Str + space
s += Str + "<IMG style=cursor:Hand SRC=plusl.gif WIDTH=16 Border=0 id=Img1_" + path + " onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'>" + "<IMG SRC=cdir.gif WIDTH=16 Border=0 id=Img2_" + path + ">"
}
else
{
tempStr = Str + line
s += Str + "<IMG style=cursor:Hand SRC=plus.gif WIDTH=16 Border=0 id=Img1_" + path + " onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'>" + "<IMG SRC=cdir.gif WIDTH=16 Border=0 id=Img2_" + path + ">"
}
s += "</td>"
s += "<td>"

s += " <a href='#' onclick='javascript:test(\""+path +"\",\"" + dir +"\"," + L +",\"" +tempStr + "\")'><FONT FACE='宋体' SIZE=2>" + FunFolders.item().Name +"</FONT></a>"
s += "</td>"
s += "</tr>"
s += "</table>"
s += "<Div id=" + path +" style='display:None'></Div>"
}
}
catch(e)
{

}
return s
}
function GetDrive()
{
var Drives,Drive,s,Name,f,Folders
Drives = new Enumerator(FileSystem.Drives);
s = "";
for (; !Drives.atEnd(); Drives.moveNext())
{
Drive = Drives.item();
    if (Drive.DriveType == 3)
{
Name = Drive.ShareName;
}
    else if (Drive.IsReady)
{
Name = Drive.VolumeName;
}
else
{
Name = "[软驱]";
}
document.write("<table border='0' cellspacing='0' cellpadding='0'><tr><td><IMG SRC='fdisk.gif' style=cursor:Hand WIDTH=16 onclick='javascript:test(\"" + Drive.DriveLetter + "\",\"" + Drive.DriveLetter + ":\\\\\"," + 0 + ",\"\")'></td><td> <a href=# onclick='javascript:test(\"" + Drive.DriveLetter + "\",\"" + Drive.DriveLetter + ":\\\\\"," + 0 + ",\"\")'><FONT FACE='宋体' SIZE=2>" + Name + "(" + Drive.DriveLetter + ":)</FONT></a></td></tr></table>")
document.write("<Div id=" + Drive.DriveLetter +" style='display:None'></Div>")
}
}
GetDrive()
</script>
</body>
</html>
--------------------编程问答-------------------- mark --------------------编程问答-------------------- 你是要用户选择服务器上的目录还是选择客户机上的目录,如果要选择服务器上的目录,用自己定义的控件+TreeView很容易实现. 而且可以达到逼真的类似windows对话框的效果,如果要用户选择客户端的目录,好象没有现成的办法. --------------------编程问答-------------------- 用的是客户端的。。。 --------------------编程问答-------------------- 楼上的楼上的楼上已经给出来了,自己留意一下. --------------------编程问答-------------------- 补充一下啊,怎么在客户端进行压缩啊1!·!。。。。上面的代码能够得到客户端的磁盘目录,能不能把他做成选择文件的那种对话框。。。。。希望解答啊。。 --------------------编程问答-------------------- 我在asp.net论坛上不回答有关导致用户降低安全级、失去对流氓软件防范能力的问题。

这类程序是vb.net或者c#编程里的最初等程序,或者使用vb6、vc++等等,在c/s程序开发中才是合理的程序。你可以到那些论坛上去抄代码,然后在网页发布ActivX。 --------------------编程问答-------------------- 上网搜一下DiskExpert20,单文件的,代码都有,很牛的。 --------------------编程问答--------------------
引用 25 楼 sp1234 的回复:
我在asp.net论坛上不回答有关导致用户降低安全级、失去对流氓软件防范能力的问题。 

这类程序是vb.net或者c#编程里的最初等程序,或者使用vb6、vc++等等,在c/s程序开发中才是合理的程序。你可以到那些论坛上去抄代码,然后在网页发布ActivX。

整个就一诈骗犯,你说说你除了说大话,说空话,你还会什么 --------------------编程问答-------------------- 这个玩意到底搞出来了没?我正需要的呀 --------------------编程问答-------------------- 呵呵,学习了!!!!!! --------------------编程问答-------------------- 还是没解决呀!     .... --------------------编程问答-------------------- ASP.Net没有这样的控件,客户端浏览器如果有这样的功能可以被脚本访问的话,我强烈建议用户不要使用这样的浏览器。
这需要通过为各种浏览器编写扩展实现,各种浏览器的扩展API不同,没有统一的方法。
--------------------编程问答--------------------   File ........................ --------------------编程问答-------------------- 楼主你的想象力很强大 --------------------编程问答--------------------
引用 32 楼 hou306010849 的回复:
  File ........................

图片太有个性了...
LZ的想法和我的一样,不过我想告诉LZ,最好还是你自己用File来自己做个那样效果的功能吧,asp.net中没有下载选择目录的.... --------------------编程问答-------------------- 没有这样的空间,而且也没有办法安全的实现,用js是不安全的,首先需要客户端的允许。 --------------------编程问答--------------------
文件都选到了,那目录还拿不到吗???????? --------------------编程问答-------------------- 大家都在帮他干什么呢。。。。
误导呀。。。。。。 --------------------编程问答--------------------
引用 31 楼 jiangsheng 的回复:
ASP.Net没有这样的控件,客户端浏览器如果有这样的功能可以被脚本访问的话,我强烈建议用户不要使用这样的浏览器。
这需要通过为各种浏览器编写扩展实现,各种浏览器的扩展API不同,没有统一的方法。

我是来看星星的 --------------------编程问答-------------------- 用Active吧。。呵! --------------------编程问答-------------------- 路過
看戲 --------------------编程问答-------------------- 我也正在想要这个功能,看来html是没有关于目录的标签的. CS里面才有的....
难道就没有其它替代的方法么?
--------------------编程问答-------------------- 唉 我也遇到这个问题了,如果叫客户输入  什么D:/ ..很麻烦。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 学习一下 --------------------编程问答-------------------- Quote=引用 27 楼 marshelccj 的回复:]
引用 25 楼 sp1234 的回复:
我在asp.net论坛上不回答有关导致用户降低安全级、失去对流氓软件防范能力的问题。

这类程序是vb.net或者c#编程里的最初等程序,或者使用vb6、vc++等等,在c/s程序开发中才是合理的程序。你可以到那些论坛上去抄代码,然后在网页发布ActivX。

整个就一诈骗犯,你说说你除了说大话,说空话,你还会什么
[/Quote]你说的大神很好玩的。。你看他发的帖子说的都很对的。很有揣摩意识的。他绝对不是在开玩笑。 --------------------编程问答-------------------- 这个确实只能通过activeX实现,可以是自己开发的,也可以是利用Flash这类现成的activeX控件实现。我记得有现成的flash控件。
--------------------编程问答--------------------
引用 33 楼 chen_ya_ping 的回复:
楼主你的想象力很强大

哈哈
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,