您的位置:首页 > 其它

【2012-08-15】ArcGIS Server for Silverlight【1】 Silverlight中使用配置文件方法

2012-08-15 19:04 501 查看
MicrosoftSilverlight是微软所发展的Web前端应用程序开发解决方案,是微软丰富型互联网应用程序(RichInternetApplication)策略的主要应用程序开发平台之一,

以浏览器的外挂组件方式,提供Web应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案。

那么我们知道既然SL作为浏览器的一个插件,运行在浏览器的前端。是没有办法直接访问后台数据的,注意我这里说的是“直接”。在程序开发过程中,有些变量需要进行外部配置,譬如我这里做ArcGISServerForSilverlight开发。需要对加载的图层做一个动态的配

置,以便适应不同的应用系统。这个时候我们该如何解决呢?

好了,既然咱们不能直接访问,那我们就想一个间接的方式。

接着,实例说话。

新建一个空的Silverlight工程,木有的童鞋可以到附件中下载,在此不再赘述。



首先,我们来看XAP文件的承载窗体Defalt.aspx页面,在此我主要截取Body代码

<!--Default.aspx-->

<body>
<formid="form1"runat="server">
<div>
<asp:buttonID="ConfigTest"runat="server"text="读取Config"OnClick="ConfigTest_Click"/>
</div>

<divid="silverlightControlHost">
<objectdata="data:application/x-silverlight-2,"type="application/x-silverlight-2"width="100%"height="100%">
<paramname="source"value="ClientBin/SilverlightConfig.xap"/>
<paramname="onError"value="onSilverlightError"/>
<paramname="background"value="white"/>
<paramname="minRuntimeVersion"value="4.0.50826.0"/>
<paramname="autoUpgrade"value="true"/>
<paramname="InitParams"value="vad='变量测试'"/>
<ahref="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0"style="text-decoration:none">
<imgsrc="http://go.microsoft.com/fwlink/?LinkId=161376"alt="获取MicrosoftSilverlight"style="border-style:none"/>
</a>
</object><iframeid="_sl_historyFrame"style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>


注意这行代码:<paramname="InitParams"value="vad='变量测试'"/>
此处的InitParms变量可以到后台代码中获取
App.xaml.cs中

privatevoidApplication_Startup(objectsender,StartupEventArgse)
{
this.RootVisual=newMainPage();
_configurations=e.InitParams;
MessageBox.Show("Sl_Init");
}


在这里我把需要传入的变量写死了,如果从后台动态获取该如何做呢,接下来我们修改Body中代码


<body>
<formid="form1"runat="server">
<div>
<asp:buttonID="ConfigTest"runat="server"text="读取Config"OnClick="ConfigTest_Click"/>
</div>

<divid="silverlightControlHost">
<objectdata="data:application/x-silverlight-2,"type="application/x-silverlight-2"width="100%"height="100%">
<paramname="source"value="ClientBin/SilverlightConfig.xap"/>
<paramname="onError"value="onSilverlightError"/>
<paramname="background"value="white"/>
<paramname="minRuntimeVersion"value="4.0.50826.0"/>
<paramname="autoUpgrade"value="true"/>
<%--<paramname="InitParams"value="vad='变量测试'"/>--%>
<asp:LiteralID="litInitParams"runat="server"/>

</object><iframeid="_sl_historyFrame"style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>


可以看到,body中唯一的变化就是

<asp:LiteralID="litInitParams"runat="server"/>

那么在Default.aspx.cs后台页面中可以动态的给litInitParams进行赋值,剩下的事情就简单了

Demo下载:http://pan.baidu.com/netdisk/singlepublic?fid=1148039_474589874


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: