【问题标题】:Client ID of a Silverlight Control in A Sharepoint WebPartSharepoint WebPart 中 Silverlight 控件的客户端 ID
【发布时间】:2010-10-12 17:24:55
【问题描述】:

背景:我在共享点 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);
    }

【问题讨论】:

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


    【解决方案1】:

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

    Page.ClientScript.RegisterHiddenField().

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

    【讨论】:

      【解决方案2】:

      我认为 Jesse "Silverlight" Liberty 先生的博文 "Passing Parameters Into Silverlight Applications" 可以帮助您解决问题。

      【讨论】:

      • 这是一个非常有用的链接 Flo。但这解释了如何将参数输入 Silverlight。正如我在回答中解释的那样,我设法将插件 ID 注入隐藏字段,然后使用 javascript 来获取值。谢谢:)
      • 哦,抱歉,我错过了理解您的问题。
      猜你喜欢
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      相关资源
      最近更新 更多