0

所以我有一个 Silverlight 控件,我使用 ActiveX 对象表示法将它添加到 ASP.NET Web 窗体页面,如下所示:

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="500" height="48">
    <param name="source" value="/ClientBin/FileUpload.xap?t=<%=DateTime.Now.ToUniversalTime() %>"/>
    <param name="onError" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="3.0.40818.0" />
    <param name="autoUpgrade" value="true" />
    <asp:Literal ID="SilverlightInitParams" runat="server" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
        <img src="https://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
    </a>
</object>

在控件中,有一个按钮。单击按钮时,我希望调用 JavaScript 脚本。要查看我是否可以让它工作,它应该调用一个确实存在的 JavaScript 函数。然而,什么也没有发生。

Silverlight 代码如下所示:

public partial class FileUploadControl : UserControl
{
    ...

    public FileUploadControl(IDictionary<string,string> parameters)
    {
        ...
        HtmlPage.RegisterScriptableObject("Page", this);

        InitializeComponent();
    }

    private void chooseFileButton_Click(object sender, RoutedEventArgs e)
    {
        HtmlPage.Window.Invoke("showStatus");

        ...
    }

    ...
}

这是 JavaScript 方法:

function showStatus() {
    alert('Test from Silverlight.');
}

有任何想法吗?

4

1 回答 1

0

.xap 文件未复制到部署目录。我现在有另一个问题,但我不太确定它是什么。我现在正在调查那个。

于 2012-05-21T21:03:47.780 回答