niples:Purtroppo la classe Clipboard non c'è nel Framework 1.1
Clipboard è un oggetto del Framework 1.1, presente nella libreria System.Windows.Forms.dll.
Leggi questa pagina su MSDN:
Clipboard.GetDataObject Method
niples:Poi Clipboard è di System.Windows.Forms, è sicuro che posso usarlo in ASP.NET?
Puoi utilizzare questa classe in ASP.NET, ma ovviamente incollerai il contenuto della Clipboard del server e non del client che sta visualizzando il browser. Supponevo dovessi "passare" dei dati tra due pagine server o tra due processi utilizzando la Clipboard per comodità.
Per usare la Clipboard nel contesto di un browser su una pagina ASP.NET - come per qualsiasi altra pagina il cui output è HTML - devi utilizzare Javascript. Ad esempio, su questa pagina trovi un'ottimo spunto che illustra come copiare un immagine:
<script type="text/javascript">
function copyTo(sImgID) {
var ctrlRange = document.body.createControlRange();
ctrlRange.add(document.all(sImgID));
ctrlRange.execCommand("Copy");
}
</script>
<body onload="copyImage('IMAGE')">
Un esempio con il testo:
<html>
<head>
<script type="text/javascript">
function doIt() {
var x=document.getElementById('dajm');
document.form.copyArea.value=x.innerText;
y = document.form.copyArea.createTextRange();
y.select();
y.execCommand("Copy");
}
</script>
</head>
<body>
<p>Outside Div</p>
<div id="dajm">
Inside Div Content
</div>
<form name="form">
<input type="hidden" name="copyArea" value><input type="button" value="Copy to Clipboard" onclick="doIt()">
</form>
<p>Outside Div</p>
</body>
</html>
E, infine, per la copia di un intero DIV contenente testo ed immagini, che può essere incollato ad esempio in Word:
var div = document.getElementById('divId');
div.contentEditable = 'true';
var controlRange;
if (document.body.createControlRange) {
controlRange = document.body.createControlRange();
controlRange.addElement(div);
controlRange.execCommand('Copy');
}
div.contentEditable = 'false';