1

我正在修复一些使用 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() 甚至没有出现在萤火虫中。但两者都告诉我“window.opener.refreshControlPointsLayer 不是函数”。我已经打开了 xap 文件,但它包含的只是 dll 文件。

我把silverlight对象叫错了吗?有没有人有过类似的事情发生在他们身上?任何人都知道我应该如何从aspx页面正确调用xap文件以便我可以使用它的功能吗?感谢您的任何帮助。

4

0 回答 0