【IT168技术文档】
在silverlight往往还是有一些获取不到的东西,比如说客户机的ip等的数据.可以通过初始化sl时把参数传入sl中.
1.修改page类
2.修改App.xaml.cspublic Page(string passText) { InitializeComponent(); txtPass.Text = passText; }
3.传递参数private void Application_Startup(object sender, StartupEventArgs e) { // Load the main control string passText = e.InitParams["passText"]; this.RootVisual = new Page(passText); }
方法1:
方法2:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>passtxt</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <div style="height: 100%;"> <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/HowTo.xap" Version="2.0" Width="100%" Height="100%"/> </div> </div> </form> </body> </html> protected void Page_Load(object sender, EventArgs e) { Xaml1.InitParameters = "passText=参数_方法1"; }
传递多个参数也是一样的.定义的时候改一下.后边的方法也类似.<object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" InitParameters="passText=123" width="100%" height="100%"> <param name="InitParams" value="passText=参数_方法2" /> <param name="source" value="ClientBin/HowTo.xap"/> <param name="onerror" value="onSilverlightError" /> <param name="background" value="white" /> <a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/> </a> </object>
参数间用","隔开public Page(string passText1,string passText2) { InitializeComponent(); txtPass1.Text = passText1; txtPass2.Text = passText2; }
<param name="InitParams" value="passText1=参数1,passText2=参数2" />