我将构建一个 Silverlight 应用程序,该应用程序托管在一个空 SharePoint 项目的自定义 Web 部件中。我正在使用 SharePoint 2010 Silverlight 4 和 .net 3.5 。
我的任务和问题是在 SharePoint 网站上制作自定义功能区。此功能区中有一个按钮,可访问 Silverlight 方法。我已经制作了丝带和按钮,但现在我不能再进一步了。
在我的经典 C# Web 部件中,我有以下代码:
"<div id='silverlightControlHost' style='width:100%;height:100%;'>" +
"<object id='SLP' data='data:application/x-silverlight-2,' type='application/x-silverlight-2' width='100%' height='600'>" +
"<param name='source' value='Silverlight_File/BMS_C_M_Silverlight.xap' />" +
"<param name='initParams' value='<%= InitParameters %>' />" +
"<param name='background' value='white' />" +
"<param name='minRuntimeVersion' value='4.0.50401.0' />" +
"<param name='autoUpgrade' value='true' />" +
"<a href='http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0' style='text-decoration:none'>" +
"<img src='http://go.microsoft.com/fwlink/?LinkId=161376' alt='Get Microsoft Silverlight' style='border-style:none'/>" +
"</a>" +
"</object>"
在 Mail 方法中的 MainPage.xaml.cs 中:
HtmlPage.RegisterScriptableObject("CallSilverlightCode", this);
在同一个文件中:
[ScriptableMember]
public void ShowAlertPopup()
{
MessageBox.Show("Message From JavaScript");
}
在功能区的 elements.xml 中:
<CommandUIHandler
Command="CallSilverlight"
CommandAction="javascript:var SLPlugin = document.getElementById('SLP'); SLPlugin.Content.CallSilverlightCode.ShowAlertPopup();"/>
</CommandUIHandlers>
有了所有这些东西,功能区中的按钮应该从 Silverlight 应用程序中调用“ShowAlertPopup”方法,但我不这样做。
我搜索所有应该有帮助的东西,但我什么也没找到。我通过部署IE调试器等查看了IE调试器中的许多东西......
任何人都可以帮忙吗?看到问题或错误?
感谢您的回答
比利卜