2016-11-21 11 views
0

Я пытаюсь вызвать функцию 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"); 
} 

Не повезло с вышеуказанным кодовым блоком. Любое предложение о том, что может быть проблемой?

+0

Не уверен, но я думаю, что при использовании Turbo Forms на странице будет добавлено много «iFrames», в зависимости от того, в каком кадре вы находитесь, у вас может быть доступ к различным областям. Как я уже сказал, не уверен, что это причина вашей проблемы. – jasonscript

+0

Я пробовал найти свой javascript-код в DOM-проводнике, но не смог найти его в турбо-форме. Но если я установил «Использовать устаревшую форму рендеринга» в «Да», я могу найти пользовательский код в DOM. –

+0

Да, я думаю, это потому, что ваш js-код может быть в другом кадре – jasonscript

ответ

0

Необходимо загрузить файл, содержащий функцию js.

Я имею в виду, что вы должны добавить библиотеку, которая содержит вашу функцию, через свойства формы.