C# 如何让用户选择源目录?

C# 如何让用户选择源目录?,c#,.net,asp.net-mvc,html,node.js,C#,.net,Asp.net Mvc,Html,Node.js,我试图弄清楚如何允许用户选择目录,而不仅仅是选择文件。我不关心文件,只关心目录。有没有办法让用户这样做?我找到的唯一方法是返回运行应用程序的机器上可用的驱动器列表 这并不是我所需要的,因为任何联网的计算机都不会出现——只有实际映射的驱动器。我所需要的只是让用户选择一个源目录,并保存该服务器路径\\my server name\path\to\source,以便我运行的服务将在计划的时间处理它 我不确定我的代码是否可以修改以显示所有网络计算机,或者是否已经有一种方法/库允许用户浏览服务器上的目录,

我试图弄清楚如何允许用户选择目录,而不仅仅是选择文件。我不关心文件,只关心目录。有没有办法让用户这样做?我找到的唯一方法是返回运行应用程序的机器上可用的驱动器列表

这并不是我所需要的,因为任何联网的计算机都不会出现——只有实际映射的驱动器。我所需要的只是让用户选择一个源目录,并保存该服务器路径\\my server name\path\to\source,以便我运行的服务将在计划的时间处理它

我不确定我的代码是否可以修改以显示所有网络计算机,或者是否已经有一种方法/库允许用户浏览服务器上的目录,但我被卡住了。有没有办法做到这一点

return (from info in driveInfo
   where info.DriveType == DriveType.Network
   select new Drive
   {
      Name = info.Name, Type = info.DriveType, 
      RootDirectory = info.RootDirectory.Name, IsReady = info.IsReady,
   }).ToList();

任何非c的解决方案也会起作用,只要它仍然可以很好地集成在一起。不确定NodeJS、Html5或Javascript是否可以做到这一点?

这不是一个很好的解决方案,而且它还远远不够快,但是如果我正确地阅读了您的问题,这与您在VB.NET中希望完成的工作是一致的

    Dim fbd1 As New FolderBrowserDialog
    Dim type As Type = FolderBrowserDialog1.GetType
    Dim fieldInfo As Reflection.FieldInfo = type.GetField("rootFolder", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
    fieldInfo.SetValue(fbd1, DirectCast(18, Environment.SpecialFolder))
    fbd1.ShowDialog()
这将创建一个FolderBrowser对话框,其中网络作为根文件夹。单击网络后,它将展开以列出您可以查看的所有网络设备。在我的电脑上,这相当慢


这是我在这里找到的一个稍微修改过的解决方案-

这与ASP.NET有什么关系?它是一个ASP.NET应用程序,所以我认为这是相关的。否?是否希望ASP.NET应用程序浏览web服务器可见的所有网络计算机并将其显示给最终用户?是。这正是我想做的。到目前为止,在使用我上面发布的内容和我拥有的内容之间,我没有特别好的解决方案。