Ich versuche, eine JavaScript-Funktion "myFunction", die im Namespace "quote.Controller" ist, die auf Quote-Formular geladen ist. Ich versuche, wie eine Instanz zu schaffen, unterJavascript Funktion Anruf von Silverlight in MSCRM 2016 Turbo Formen
ScriptObject result=HtmlPage.Window.CreateInstance("quote.Controller");
Above Linie funktioniert gut, wenn ich „legacy Form Rendering verwenden“ auf Ja in MSCRM 2016. Aber wenn ich auf No „legacy Form Rendering verwenden“, Ich erhalte eine Ausnahme "Unbehandelter Fehler in Silverlight Application Type" quote.Controller 'existiert nicht. ". Das liegt möglicherweise daran, dass die Silverlight-Steuerung die JavaScript-Datei im Formular nicht finden kann. Ich versuchte den folgenden Code
var parent = HtmlPage.Window.GetProperty("parent") as HtmlWindow;
if (parent != null)
{
parent.CreateInstance("quote.Controller");
}
Kein Glück mit dem obigen Codeblock. Irgendwelche Vorschläge, was könnte das Problem sein?
Nicht sicher, aber ich denke, wenn Sie Turbo Forms verwenden, werden eine Menge 'iFrames' auf der Seite hinzugefügt, je nachdem, in welchem Rahmen Sie sich befinden, haben Sie möglicherweise Zugriff auf verschiedene Bereiche. Wie ich sagte, nicht sicher, ob dies die Ursache für Ihr Problem ist – jasonscript
Ich habe versucht, meine benutzerdefinierte Javascript-Code im DOM-Explorer zu finden, konnte aber nicht auf Turbo-Formular finden. Aber wenn ich "Legacy-Formular-Rendering verwenden" auf "Ja" setze, kann ich den benutzerdefinierten Code in DOM finden. –
Ja, ich denke, das liegt daran, dass sich Ihr Js-Code in einem anderen Frame befindet – jasonscript