Ich habe ein Problem mit einem Windows Forms-Steuerelement in einer DLL und eingesetzt IE innerhalb eines Object-Tag eingewickelt. Das Objekt sollte eine Zeichenkette zurückgeben, die von Javascript in ein verstecktes Feld eingefügt wird, das zum Zurücksetzen auf den Server bereit ist. Dies ist ein Ansatz, den ich mehrmals verwendet habe, aber jetzt bekomme ich die gefürchtete Fehlermeldung "Objekt unterstützt diese Methode oder Eigenschaft nicht" aus Javascript. Ich habe dies auf den Aufruf der Funktion beschränkt, die eine Zeichenfolge zurückgibt.Windows Forms-Steuerelement in IE nicht zu JavaScript reagiert ruft
Dinge, die ich habe beseitigt:
- Rechtschreibfehler auf dem Funktionsaufruf
- Die aufgerufene Funktion ist eine öffentliche Funktion
- Berechtigungsfehler - alle auf localhost laufen, vertrauenswürdige Sites, etc.
Dinge, die relevant sein können:
- Die dll ein paar Klassen enthält, die in der Steuerung verwendet werden
- Das Control Brauch ist, sondern nutzt verschiedene Steuerelemente für Windows Forms
- Die Grundströmung ist, dass die Steuerung (die Benutzer mehrere Seiten von Zeichnungen eingeben können) erstellt ein Objekt, das serialisiert und an eine Basis-64-Zeichenfolge ausgegeben wird. Das Javascript ruft eine Ausgabefunktion auf und platziert die (komprimierte) Zeichenfolge in einem versteckten Steuerelement. Das Formular wird gesendet und die Zeichenfolge wird zur Verarbeitung an den Server gesendet.
Wenn jemand helfen könnte, würde ich es zu schätzen wissen.
<body>
<script language="javascript" type="text/javascript">
function GetValues(){
alert(document.draw1.ReturnSerialisedObjectString());
return true;
}
</script>
<input type="hidden" id="hdnData" runat="server" />
<input type="button" onclick="javascript:return GetValues();" value="Click Me" />
<br /><br />
<object id="draw1" classid="SlainteCustomControls.dll#SlainteCustomControls.FreeFormControl" width="482" height="579" viewastext />
Können Sie einige Beispiele des C# -Code in der Komponente zur Verfügung stellen. Haben Sie IObjectSafety implementiert? Muss die Klasse und die Methoden, die über COM zugänglich sein sollen, korrekt dekoriert sein? – AnthonyWJones