2010-07-05 27 views
1

J'ai écrit un contrôle utilisateur activex pour obtenir une image du presse-papier d'un utilisateur. J'ai une méthode pour obtenir le flux d'octets pour cette image. Je veux l'incorporer dans une page de webforms d'asp.net (C#).Accès à la méthode ActiveX à partir d'asp.net (C#)

Je ne sais pas comment appeler cette méthode à partir de la partie "code behind" de la page asp.net en utilisant C#. Je ne suis pas en mesure d'accéder à l'objet de la partie "code behind".

Je suis en train de accompish cela en utilisant Javascript, mais je continue à obtenir l'erreur:

Erreur d'exécution Microsoft JScript: 'ScreenCapMod1' est pas défini

Voici le code HTML:

<div id="panelScn" style="height:258px;"> 

     <object id="ScreenCapMod1" name="ScreenCapMod1" height="812" width="689" 
      classid="ScreencaptureActiveX.dll#Screencapture_ActiveX.ScreenCapModule"> 
     </object> 
    <input type=button value="Click me" onClick="doScript();"> 

Fonction doScript() { ScreenCapMod1.getScreenshot () }

C'est le code pour la méthode de capture d'écran get:

public byte[] getScreenshot() 
    { 
     if (picBoxImagePrev.Image != null) 
     { 
      MemoryStream stream = new MemoryStream(); 
      scaledScreenCapture.Save(stream, ImageFormat.Png); 
      imgStream = stream.ToArray(); 
     } 
     return imgStream; 
    } 

Répondre

1

Le contrôle ActiveX fonctionne sur le côté client, vous devez trouver un moyen de pousser les données du client vers le serveur. Un service Web standard devrait accomplir cela pour vous.