Я пытаюсь вызвать функцию javascript «myFunction», которая находится в пространстве имен «quote.Controller», который загружается в форму запроса. Я пытаюсь создать экземпляр, как показано нижеJavascript вызов функции из silverlight в MSCRM 2016 turbo forms
ScriptObject result=HtmlPage.Window.CreateInstance("quote.Controller");
Выше линии отлично работает, когда я ставлю «Использовать устаревшую форму рендеринга» Да в MSCRM 2016. Но если я установить «Использовать устаревшую форму рендеринга» Нет, то Я получаю исключение «Необработанная ошибка в Silverlight Application Type» quote.Controller «не существует». Возможно, это связано с тем, что элемент управления Silverlight не может найти файл javascript в форме. Я попробовал приведенный ниже код
var parent = HtmlPage.Window.GetProperty("parent") as HtmlWindow;
if (parent != null)
{
parent.CreateInstance("quote.Controller");
}
Не повезло с вышеуказанным кодовым блоком. Любое предложение о том, что может быть проблемой?
Не уверен, но я думаю, что при использовании Turbo Forms на странице будет добавлено много «iFrames», в зависимости от того, в каком кадре вы находитесь, у вас может быть доступ к различным областям. Как я уже сказал, не уверен, что это причина вашей проблемы. – jasonscript
Я пробовал найти свой javascript-код в DOM-проводнике, но не смог найти его в турбо-форме. Но если я установил «Использовать устаревшую форму рендеринга» в «Да», я могу найти пользовательский код в DOM. –
Да, я думаю, это потому, что ваш js-код может быть в другом кадре – jasonscript