方法1: 向嵌入aspx页面的silverlight对象添加imnitParams参数,它的value是与querystring类似的键值对,多个参数用逗号隔开,aspx后台代码如下所示:<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" wIDth="100%" height="100%"> <param name="source" value="ClIEntBin/Para_from_aspx2sl.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40624.0" /> <param name="autoUpgrade" value="true" /> <param name="initParams" value="ID=114,name=lensso" /> <!--或以如下形式给value赋值--> <!--<param name="initParames" value="ID=<%# Request.querystring["ID"]%>"/>--></object> 至此完成了aspx页面的赋值工作,在silverlight中的Application_Startup事件处理函数中可以利用事件变量来取得该值,(App.Xaml.cs)代码如下:private voID Application_Startup(object sender,StartupEventArgs e) { this.RootVisual = new MainPage(); MessageBox.Show(e.InitParams["ID"]+e.InitParams["name"]); } 方法2: 1.下载System.Web.Silverlight.dll(可以去网上搜一下) 2.将下载的dll引用进web工程 3.在aspx页面添加注册代码,如下:<%@ Register Assembly="System.Web.Silverlight" namespace="System.Web.UI.SilverlightControls" TagPrefix="sl" %> 4.添加silverlight控件,代码如下:<sl:Silverlight ID="slobj" runat="server" source="~/ClIEntBin/Para_from_aspx2sl.xap" version="2.0" wIDth="100%" height="100%"></sl:Silverlight> 5.添加scriptmanager,代码如下<asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager> 6.aspx后台代码传值,代码如下:slobj.InitParameters = "ID=123,name=hello"; 7.silverlight中取得aspx传过来的值,代码如方法1。 <注>如果你想把配置放在web.config中,在aspx的后台添加配置,而不想使用sl控件,可以使用aspx的literal控件,如下方法: web.config配置1 <appSettings>2 <add key="AuthenticationAddress" value="http://192.168.104.133:13999/Sysadmin/Runtime/AuthenticationService.svc"/>3 </appSettings> aspx中的写法如下 1 <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" 2 wIDth="100%" height="100%"> 3 <param name="source" value="ClIEntBin/OIU.xap" /> 4 <param name="onError" value="onSilverlightError" /> 5 <param name="background" value="white" /> 6 <param name="minRuntimeVersion" value="3.0.40818.0" /> 7 <param name="autoUpgrade" value="true" /> 8 <asp:literal ID="slinitParams" runat="server"></asp:literal> 9 <a href="http://go.microsoft.com/fwlink/?linkID=149156&v=3.0.40818.0" >10 <img src="http://go.microsoft.com/fwlink/?linkID=161376" alt="获取 Microsoft Silverlight"11 />12 </a>13 </object>14 <iframe ID="_sl_historyFrame" ></iframe> 注意第8行添加的控件 aspx后台这么写1 StringBuilder sb = new StringBuilder();2 sb.Append(" <param name=\"InitParams\" value=\"");3 sb.Append(string.Format("AuthenticationAddress={0}",ConfigurationManager.AppSettings["AuthenticationAddress"]));4 sb.Append( "\"></param>");5 slinitParams.Text =sb.ToString(); 同样可以实现动态配置silverlight的服务。
总结 以上是内存溢出为你收集整理的aspx向Silverlight传值全部内容,希望文章能够帮你解决aspx向Silverlight传值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)