C# Clipboard.SetText()显示错误

C# Clipboard.SetText()显示错误,c#,asp.net,web-applications,webforms,C#,Asp.net,Web Applications,Webforms,我在asp.net中使用了一个简单的web表单应用程序来缩短url。我已经成功地完成了我的功能,当我更改url时,它会自动复制到剪贴板 我已将文本值存储在变量中,如 shortUrl.Text = shortURL; 在此之后,我调用剪贴板函数 clip_board(shortURL); 我的职能是 public void clip_board(string shortUrl) { MessageBox.Show(shortUrl); Clip

我在asp.net中使用了一个简单的web表单应用程序来缩短url。我已经成功地完成了我的功能,当我更改url时,它会自动复制到剪贴板

我已将文本值存储在变量中,如

   shortUrl.Text = shortURL; 
在此之后,我调用剪贴板函数

 clip_board(shortURL);
我的职能是

 public void clip_board(string shortUrl)
    {
       MessageBox.Show(shortUrl);
       Clipboard.SetText(shortUrl);

    }
此处,消息框显示缩短url,但
Clipboard.SetText()
将错误显示为

在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。确保主函数上标记了STAThreadAttribute


如何克服此错误?

您说它是一个ASP.NET应用程序:在这种情况下,.NET代码将在服务器上运行,因此您无法访问客户端的剪贴板,也无法调用WinForms方法,如
MessageBox.Show

针对评论:


但它会显示带有精确值的消息框


您是否正在使用Visual Studio和Cassini web服务器进行调试?在这种情况下,您可能会看到
MessageBox.Show的输出,因为它正在当前会话的上下文中运行。但当您部署到IIS时,这将不起作用。

但它会显示带有确切值的消息框,并且不会访问此处的剪贴板功能