• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETMVC实现剪切板功能

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前言

关于复制粘贴的功能,好像不用劳师动众的写后端代码,JS就可以,但正如大家所知道的,兼容性问题,当然这么通用的功能怎么可能没有一个通用的方案呢,于是便找到了一款jquery插件 jquery.clip, perfect!但本篇并不是写如何使用jquery.clip,而是通过.net 的Clipboard类来实现。

代码实现

一、创建WebAPI,代码如下

using System.Windows.Forms;
using System.Threading;

namespace JYZS.Api
{
    public class ClipboardController : ApiController
    {
        [HttpGet]
        public string CopyToClipboard(string content)
        {
            Thread newThread = new Thread(new ThreadStart(() => { _CopyToClipboard(content); }));
            newThread.SetApartmentState(ApartmentState.STA);
            newThread.Start();
            //newThread.Join();//阻塞调用线程,直到被调用线程结束
            return "";
        }
        private void _CopyToClipboard(string content)
        {
            System.Windows.Forms.Clipboard.SetText(content);
        }
        [HttpGet]
        public string PasteFromClipboard()
        {
            string text = "";
            try
            {
                Thread newThread = new Thread(new ThreadStart(() => { text = _PasteFromClipboard(); }));
                newThread.SetApartmentState(ApartmentState.STA);
                newThread.Priority = ThreadPriority.Highest;
                newThread.Start();
                newThread.Join();//阻塞调用线程,直到被调用线程结束

                return text;
            }
            catch
            {
                return "";
            }
        }
        private string _PasteFromClipboard()
        {
            return System.Windows.Forms.Clipboard.GetText();
        }
    }
}

二、前端调用

        function fn_CopyToClipboard() {
            $.ajax({
                type: 'GET',
                url: '/api/Clipboard/CopyToClipboard',
                data: { content: $.trim($('#Content').val()) },
                success: function (msg) {
                    if (msg == null || msg == '') { alert('已复制到剪切板'); }
                    else alert(msg);
                },
                error: function (err) {
                    alert('复制到剪切板失败');
                }
            });
        }
        function fn_PasteFromClipboard() {
            $.ajax({
                type: 'GET',
                url: '/api/Clipboard/PasteFromClipboard',
                data: { },
                success: function (msg) {
                    if (msg == null || msg == '') { alert('获取剪切板数据失败'); }
                    else alert(msg);
                },
                error: function (err) {
                    alert('获取剪切板数据失败');
                }
            });
        }

POST:hope helpful to you!!!

类名、方法名及命名空间均为本人项目中命名,使用时请注意修改~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap