繁体   English   中英

关于C#asp.net的问题

[英]question about c# asp.net

为了在asp.net中使用FolderBrowserDialog控件,我必须在项目中添加对System.Windows.Forms的引用。

我写了这段代码:

 FolderBrowserDialog f = new FolderBrowserDialog();  
 f.ShowDialog();  

但发生此错误:

Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it. This exception is only raised if a debugger is attached to the process.  

任何帮助?

如果您试图在ASP.NET应用程序中使用此控件,您将很失望。

您不能在ASP.NET页上使用WinForms控件。 您应该改为检出FileUpload控件(它将允许您的用户选择一个文件并将其上传到站点)。

如果您实际上是在构建WinForms应用程序(而不是ASP.NET) ,则此修复非常简单(并且您应该修复问题和标记):

public static void Main()

变为:

[STAThread]
public static void Main()

但是请记住,Visual Studio通常在创建WinForms项目时将其添加到生成的代码中。

您不能在ASP.NET中使用Windows窗体控件。 实际上,从ASP.NET使用FolderBrowserDialog并没有多大意义,因为它是一个网页。 Web应用程序无法直接访问用户的文件系统。 如果要从用户获取文件,则应使用FileUpload控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM