asp.net 保存文本至剪切板

1.后台c#方法

//复制字符串到剪切板
protected void ctrl_c(string text)
{
    // 开线程是为了使用STA模式,复制剪切板时需要
    Thread t = new Thread((ThreadStart)(() =>
    {
        Clipboard.SetDataObject(text, true);
    }
    ));
    t.SetApartmentState(ApartmentState.STA);
    t.Start();
    t.Join();
}

-- 服务端适用,在网页终端无效

2. 前台js方法

function ctrl_c(text) {
    var tag = document.createElement('textarea');
    tag.setAttribute('id', 'cp_jqb_textarea');
    tag.value = text;
    document.getElementsByTagName('body')[0].appendChild(tag);
    document.getElementById('cp_jqb_textarea').select();
    document.execCommand('copy');
    document.getElementById('cp_jqb_textarea').remove();
}

特殊情况下,用server块包裹(比如写在head里)

<div runat="server" id="copy_text_js">
    <script type='text/javascript'>

        function ctrl_c(text) {
            var tag = document.createElement('textarea');
            tag.setAttribute('id', 'cp_jqb_textarea');
            tag.value = text;
            document.getElementsByTagName('body')[0].appendChild(tag);
            document.getElementById('cp_jqb_textarea').select();
            document.execCommand('copy');
            document.getElementById('cp_jqb_textarea').remove();
        }

    </script>
</div> 

猜你喜欢

转载自blog.csdn.net/u013595395/article/details/114289831