ASP.net操作剪贴板对象

  作者:肖凤斌 E-mail:[email protected]     

  如果是winForm程序,操作剪贴板那是很容易的,但是在同样的代码在ASP.NET时,就不行了,我在项目中有一个场景是从数据库中取出数据(HTML格式的数据,图文混排),在网页上显示时,客户希望能显示的和Word类似,即感觉好像是A4纸上一样,其实这没什么,就是做一个背景,像A4纸即可,在从数据库中取出数据,显示在那个"A4"纸上,但是问题出来了,数据库中存的数据是一个完整的html代码,在那个"A4"纸上显示时要分页,这个不好解决???

      最后想了一个办法,就是在内存中建立一个Word对象,把数据库中的HTML复制到word中,利用word自动分好页,然后按页取内容,显示在那个"A4"纸上。

      其中遇到一个问题,就是asp.net无法操作Clipboard,引用了System.Windows.Forms,可以使用了,但有限制,查了好多资料都无效,经多方摸索,总结如下:

 

 protected void Page_Load(object sender, EventArgs e) { Thread cbThread = new Thread(new ThreadStart(CopyToClipboard)); cbThread.TrySetApartmentState(ApartmentState.STA); cbThread.Start(); cbThread.Join(); } [STAThread] protected void CopyToClipboard() { Clipboard.SetData(DataFormats.Html, "

aaaaaaaaaa
"); //成功复制到剪贴板中,注意,是服务器的剪贴板。对剪贴板的其它操作类似 }

你可能感兴趣的:(ASP.net操作剪贴板对象)