[英]Clipboard.SetText() shows errors
我一直在使用一个简单的Web表单应用程序来缩短asp.net中的URL。 我已成功完成我的功能,当我更改网址时,它应自动复制到剪贴板。
我已将文本值存储在变量中
shortUrl.Text = shortURL;
在此之后,我正在调用剪贴板功能
clip_board(shortURL);
我的功能是
public void clip_board(string shortUrl)
{
MessageBox.Show(shortUrl);
Clipboard.SetText(shortUrl);
}
这里的消息框显示缩短的URL,但Clipboard.SetText()
显示错误为
在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。 确保您的Main函数标记了STAThreadAttribute。
如何克服这个错误?
你说它是一个ASP.NET应用程序:在这种情况下,你的.NET代码将在服务器上运行,因此你无法访问客户端的剪贴板 - 也无法调用WinBox等方法,如MessageBox.Show
。
回应评论:
但它显示了具有确切值的消息框...
您是否正在使用Visual Studio和Cassini Web服务器进行调试? 在这种情况下,您可能会看到MessageBox.Show
的输出,因为它在您当前会话的上下文中运行。 但是,当您部署到IIS时,这将不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.