2

背景:我在共享点 Web 部件中有一个 Silverlight 控件,它公开了一些可编写脚本的方法。我使用这些方法来调用 Web 服务并获取一系列菜单选项。然后将这些菜单选项注入到单击列表中的项目时出现的 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);
    }
4

2 回答 2

0

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

Page.ClientScript.RegisterHiddenField()。

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

于 2009-03-11T23:52:29.220 回答
0

我认为 Jesse "Silverlight" Liberty 先生的博客文章“将参数传递到 Silverlight 应用程序”可以帮助您解决问题。

于 2009-03-12T09:35:03.407 回答