C# 在asp.net中使用零剪贴板将文本复制到剪贴板

C# 在asp.net中使用零剪贴板将文本复制到剪贴板,c#,asp.net,web-applications,copy,zeroclipboard,C#,Asp.net,Web Applications,Copy,Zeroclipboard,当客户端单击按钮时,我试图使用Zero*剪贴板*将文本从文本框复制到剪贴板。我尝试了很多天,但没有运气使这项工作 在这个场景中,我有一个文本框,用于呈现来自数据库的数据。我有一个按钮,当客户端点击时,它应该复制文本框的文本。我试过跟随,但不起作用 一些帮助将不胜感激 <script type="text/javascript" src="/Scripts/ZeroClipboard.js"></script> <script type="text/java

当客户端单击按钮时,我试图使用Zero*剪贴板*将文本从文本框复制到剪贴板。我尝试了很多天,但没有运气使这项工作

在这个场景中,我有一个文本框,用于呈现来自数据库的数据。我有一个按钮,当客户端点击时,它应该复制文本框的文本。我试过跟随,但不起作用

一些帮助将不胜感激

 <script type="text/javascript" src="/Scripts/ZeroClipboard.js"></script>
    <script type="text/javascript">
        ZeroClipboard.setMoviePath('/Scripts/ZeroClipboard.swf');
    </script>



<script>
    function test() {

        ZeroClipboard.setMoviePath('/Scripts/ZeroClipboard.swf');
        //create client
        var clip = new ZeroClipboard.Client();

        //event
        clip.addEventListener('mousedown', function () {
            clip.setText(document.getElementById('TextBox2').value);

        });
        clip.addEventListener('complete', function (client, text) {
            alert('copied: ' + text);

        });
        //glue it to the button
        clip.glue('d_clip_button');

    }
</script>

<asp:TextBox ID="TextBox2" runat="server" BorderStyle="None"  Enabled="False" Font-Size="Medium" ForeColor="Black" Width="213px"></asp:TextBox>
            &nbsp;<asp:Button ID="d_clip_button" runat="server" Text="Copy" OnClientClick="javascript:test();" />

setMoviePath('/Scripts/ZeroClipboard.swf');
功能测试(){
setMoviePath('/Scripts/ZeroClipboard.swf');
//创建客户端
var clip=新的ZeroClipboard.Client();
//事件
clip.addEventListener('mousedown',函数(){
clip.setText(document.getElementById('TextBox2').value);
});
clip.addEventListener('complete',函数(客户端,文本){
警报('复制:'+文本);
});
//把它粘在钮扣上
clip.glue('d_clip_button');
}

复制到剪贴板
var clip=新的ZeroClipboard.Client();
var myTextToCopy=“嗨,这是要复制的文本!”;
clip.setText(myTextToCopy);
胶水('d_clip_button');

复制到剪贴板
//在Main.js文件中
//main.js
var clip=newZeroClipboard(document.getElementById(“复制按钮”){
moviePath:“/path/to/ZeroClipboard.swf”
} );
clip.on('load',函数(客户端){
//警报(“电影已加载”);
} );
clip.on('complete',函数(客户端,参数){
this.style.display='none';/“this”是单击的元素
警报(“已将文本复制到剪贴板:“+args.text”);
} );
clip.on('mouseover',函数(客户端){
//警惕(“鼠标悬停”);
} );
clip.on('mouseout',函数(客户端){
//警惕(“鼠标悬停”);
} );
clip.on('mousedown',函数(客户端){
//警惕(“鼠标按下”);
} );
clip.on('mouseup',函数(客户端){
//警惕(“鼠标向上”);
} );

首先,您试图通过错误的id选择元素。由于您使用webforms,正确的方法是:

getElementById('<%=TextBox2.ClientID%>')

享受吧

我仍然无法完成这项工作。请您在JSFIDLE中实现它。
<html>
<body>
<button id="copy-button" data-clipboard-text="Copy Me!" title="Click to copy me.">
Copy to Clipboard</button>
<script src="ZeroClipboard.js"></script>
<script src="main.js"></script>
</body>
</html>

//In Main.js file
// main.js
var clip = new ZeroClipboard( document.getElementById("copy-button"), {
moviePath: "/path/to/ZeroClipboard.swf"
} );

clip.on( 'load', function(client) {
// alert( "movie is loaded" );
} );

clip.on( 'complete', function(client, args) {
this.style.display = 'none'; // "this" is the element that was clicked
alert("Copied text to clipboard: " + args.text );
} );

clip.on( 'mouseover', function(client) {
// alert("mouse over");
} );

clip.on( 'mouseout', function(client) {
// alert("mouse out");
} );

clip.on( 'mousedown', function(client) {

// alert("mouse down");
} );

clip.on( 'mouseup', function(client) {
// alert("mouse up");
} );
getElementById('<%=TextBox2.ClientID%>')
$().ready(function () {
    ZeroClipboard.setDefaults({ moviePath: "/Scripts/ZeroClipboard.swf" });

    var clip = new ZeroClipboard(document.getElementById('YourButtonId')); //or '<%=YourButton.ClientID%>' if you use asp.net button

    clip.on('complete', function (client, args) {
        alert("Copied text to clipboard: " + args.text);
    });
});
<input type="button" value="clickme" id="YourButtonId" data-clipboard-target="<%=TextBox2.ClientID %>"/>