如何在c#Web应用程序中从文本框中将文本复制到剪贴板

时间:2012-03-20 08:45:00

标签: c# javascript asp.net clipboard

我正在开发一个网站项目。为此,我需要将文本从文本框复制到剪贴板,以便将其粘贴到记事本或其他地方。 我正在使用Visual Studio 2008和c#。

我已经编写了这段代码,但它无效:

<script language="javascript" type="text/javascript">
    function ClipBoard()
    {
        TextBox1.innerText = Button1.innerText;
        Copied = TextBox1.createTextRange();
        Copied.execCommand("RemoveFormat");
        Copied.execCommand("Copy");
    }
</script>
<asp:TextBox ID="TextBox1" runat="server">Click on the button to copy the this text</asp:TextBox>

<asp:Button ID="Button1" runat="server" Text="Copy Text" onclick="ClipBoard();" />

在此代码中,最后一行出现2个错误“)预期”和“无效的表达期限')'”

如果有人知道解决方法,请帮助我。

1 个答案:

答案 0 :(得分:0)

检查由@Jon链接的问题的答案。添加一个小的flash对象来实际将文本复制到剪贴板似乎是最简单的方法。

这样的事情可以解决问题

function copyIntoClipboard(text) {

var flashId = 'flashId-HKxmj5';

/* Replace this with your clipboard.swf location */
var clipboardSWF = 'http://appengine.bravo9.com/copy-into-clipboard/clipboard.swf';

if(!document.getElementById(flashId)) {
    var div = document.createElement('div');
    div.id = flashId;
    document.body.appendChild(div);
}
document.getElementById(flashId).innerHTML = '';
var content = '<embed src="' + 
    clipboardSWF +
    '" FlashVars="clipboard=' + encodeURIComponent(text) +
    '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
document.getElementById(flashId).innerHTML = content;
}

谦卑地从Copy / Put text on the clipboard with FireFox, Safari and Chrome

复制