2

Silverlight から JavaScript 関数を呼び出しています。私のJavaScriptファイルは次のとおりです。

function sayHello() {
    alert("Hello from Silverlight via Javascript");
}

function showText(mytxt) {
    alert(mytxt);
}

私の Silverlight .cs ファイルには、2 つの異なるボタンに対して 2 つのイベント ハンドラーがあります。Button1 のイベント ハンドラは、sayHello() を呼び出します。これは完璧に機能します。

Button2 のイベント ハンドラは showText() を呼び出しますが、これは「showText の呼び出しに失敗しました」というエラーで失敗します。以下は、Silverlight からの私のコードラインです。

    void myButtonClickEvent(object sender, RoutedEventArgs e)
    {
      HtmlPage.Window.Invoke("showText", "show this text");
    }

私はクライアント側のプログラミングが初めてです。これについてあなたの助けに感謝します。

4

1 に答える 1

0

私はこれを機能させました。問題は、JavaScriptファイルがキャッシュされることでした。新しいメソッドshowTextを追加した後、それをコンパイルして再度テストしました。しかし、JavaScriptファイルが更新されなかったため、Silverlightアプリケーションは新しいJavaScriptメソッドshowTextを見つけることができませんでした。ブラウザのキャッシュとSilverlightのキャッシュをクリアしても効果はありませんでした。この問題を回避するために、JavaScriptファイルの名前を変更して再コンパイルしました。今回は、メソッドがパラメーターを使用して呼び出されました。変更を加えた後、JavaScriptファイルを更新する方法を理解する必要があります。dllのリソースとしてJavaScriptファイルを作成しています。

于 2012-11-27T06:22:09.793 に答える