A Sharepoint WebPart中Silverlight控件的客户端ID

时间:2009-03-11 16:20:50

标签: asp.net javascript silverlight sharepoint web-parts

背景:我在sharepoint webpart中有一个Silverlight控件,它公开了一些可编写脚本的方法。我使用这些方法调用webservice并获取一系列菜单选项。然后将这些菜单选项注入Sharepoint ECB菜单,该菜单在单击列表中的项目时显示。

我遇到的问题是能够在Javascript中获取silverlight控件的clientID,然后我可以用它来调用脚本化方法。这将打开的页面可能有多个相同silverlight控件的实例,以及控件层次结构可能不同....

这是我目前拥有的客户端JS代码,其中clientID是硬编码的......

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);
    }

2 个答案:

答案 0 :(得分:0)

我最终使用以下函数将代码隐藏中的PLugin ID作为隐藏字段注入到页面中...

Page.ClientScript.RegisterHiddenField()。

然后我使用javascript来读取隐藏字段的值。

答案 1 :(得分:0)

我认为博客帖子“Passing Parameters Into Silverlight Applications”形成Jesse先生“Silverlight”Liberty可以帮助您解决问题。