背景:スクリプト可能なメソッドを公開するSharepoint WebパーツにSilverlightコントロールがあります。これらのメソッドを使用してWebサービスを呼び出し、一連のメニューオプションを取得します。これらのメニューオプションは、リスト内の項目をクリックすると表示されるSharepoint ECBメニューに挿入されます。Sharepoint WebPartのSilverlightコントロールのクライアントID
私が抱えている問題は、JavascriptでsilverlightコントロールのclientIDを取得できるため、スクリプト可能メソッドを呼び出すために使用できます。このページには、同じSilverlightコントロールの複数のインスタンスとコントロール階層が異なる場合があります。
ここには、clientIDがハードコードされているクライアントサイドのJSコードがあります。私は次の関数を使用してのHiddenFieldとしてページ上に分離コードからプラグインIDを注入することになった
function TestQueryMenu() {
var plugin = document.getElementById('ctl02_IntuitionModelBrowserControl');
var contextUri = document.getElementById('TestUri').value;
var key = contextUri;
plugin.Content.ModelBrowser.GetContextMenuOptionsCompleted = MenuItemsReceived;
plugin.Content.ModelBrowser.GetContextMenuOptionsAsync(key, contextUri);
}
これは非常に有益なリンクでした。しかし、それはSilverlightにパラメータを取得する方法を説明しています。私が私の答えで説明したように、私は隠れたフィールドにプラグインIDを注入し、その値を得るためにJavaScriptを使いました。 ありがとう:) –
申し訳ありませんが、私はあなたの問題を理解しています。 – Flo