来自aspx的Silverlight调用不再有效

时间:2013-07-17 17:31:03

标签: asp.net silverlight

我正在修复一些使用silverlight和arcgis的旧代码。银光部分随着时间的推移而破裂。最初使用的代码是:

<asp:Silverlight ID="xamlMain" runat="server" Source="ClientBin/ControlPoints.xap" MinimumVersion="3.0.40624.0" Width="100%" Height="100%" />

以及它的召唤方式

function RefreshControlPointLayer() {
    var slControl = document.getElementById("xamlMain");
    slControl.Content.RefreshControlPointsLayer();
    }

我会得到“slControl.Control未定义。”在查看了silverlight调用(我之前没有经验或知道silverlight)后,我发现调用它的方式是旧的,所以我把它改成了新的对象方式。

<object type="application/x-silverlight-2" data="data:application/x-silverlight," width="100%" height="100%">
                    <param name="source" value="ClientBin/ControlPoints.xap" />
                    <param name="id" value="xamlMain" />
                    <param name="runat" value="server" />
                    <param name="onError" value="onSiliverError" />
                    <param name="background" value="white" />
                    <param name="minRuntimeVersion" value="3.0.40624.0" />
                    <param name="autoUpgrade" value="true" />
                    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.60310.0" style="text-decoration:none">
                     <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
                    </a>
                </object><iframe id="_sl_historyFrame" style='visibility: hidden; height: 0px; width: 0px; border: 0px'></iframe>

我只是通过调用函数“RefreshControlPointsLayer()来调用它。”在chrome的检查器控制台中,我能够看到此代码

function refreshControlPointsLayer() {      
    window.opener.RefreshControlPointLayer();
    return false;
}

但是我只能在萤火虫中

<td align="center">
<span id="ctl00_Main_gv_import_ctl21_ImportStatus" disabled="disabled"      style="color:Red;"></span>
</td><td>10X</td><td>5570.47000</td><td>1244.33900</td><td>473.69900</td><td>BRK-10X bk 25596 pg ?? </td><td>&nbsp;</td>
</tr>

函数refreshControlPointsLayer()甚至没有显示在firebug中。但两个都告诉我“window.opener.refreshControlPointsLayer不是一个函数。”我打开了xap文件,但它包含的所有内容都是dll的。

我是否将Silverlight对象称为错误?有没有人遇到类似的事情?那个头顶的人是否应该知道我应该如何从aspx页面正确调用xap文件以便我可以使用它的功能?感谢您的任何帮助。

0 个答案:

没有答案