Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 0
  • 105

Mam funkcję napisaną w javascript, która przyjmuje jeden parametr i zwraca wartość.

Chciałbym tą funkcję wywalać z poziomu kodu napisanego w C# w Silverlight.

Michał_Szot
  • Zapytał
  • @ Michał_Szot | 18.02.2015
    • 5
    • 0
    • 2

Odpowiedź (1)

  • 3

Załóżmy, że posiadasz następującą funkcję JavaScript:

        function showPopup(imie) {
            alert("Cześć " + imie);
        }

Aby wywołać tą funkcję z poziomu Silverlight'a, musisz posłużyć się metodą Invoke klasy HtmlPage.Window z przestrzeni System.Windows.Browser.

Oto przykład:

HtmlPage.Window.Invoke("showPopup", new string[] {"Adrian" });
        

Czasami na początku możesz dostać komunikat:

Failed to invoke: showPopup

Przyczyn takiego stanu rzeczy może być wiele, zazwyczaj jest to po prostu niewidoczność funkcji JavaScript przez stronę Silverlight. Jeśli otrzymujesz taki komunikat, upewnij się (np. debugerem przeglądarkowym F12) że twój kod JavaScript jest widziany przez Silverlight'a.

  • Odpowiedział
  • @ | 06.03.2015
  • TRENER ALTKOM AKADEMII