asp.net中定义参数到silverlight控件

来源:互联网 发布:帝国cms整站源码 编辑:程序博客网 时间:2024/05/10 23:48

在asp.net中使用sliverlight的时候往往希望在silverligth控件里初始化一个数据,让silverlight可以读取并使用。

 

实现过程

1.打开testpage.aspx

  1.     <form id="form1" runat="server" style="height:100%;">
  2.         <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
  3.         <div  style="height:100%;">
  4.             <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/Initparamas.xap" 
  5.             MinimumVersion="2.0.30523" Width="100%" Height="100%"
  6.             InitParameters="key1=value1,key2=value2" 
  7.              />
  8.         </div>
  9.     </form>

以上请注意InitParameters="key1=value1,key2=value2" 此句

 

2.打开sl项目中的App.xaml.cs,打到Application_Startup这个方法,修改成如下

  1.         //定义存放读入参数的字典,命名为revalues
  2.         public IDictionary<stringstring> revalues;
  3.         private void Application_Startup(object sender, StartupEventArgs e)
  4.         {
  5.             this.RootVisual = new Page();
  6.             //把从asp.net中定义的参数传递到revalues字典中
  7.             revalues = e.InitParams;
  8.         }

3.把接收到的参数进行处理,我这里只是简单地把接收到的内容都通一个提示框展现,打开Page.xaml.cs文件

  1.         public Page()
  2.         {
  3.             InitializeComponent();
  4.             this.Loaded += new RoutedEventHandler(Page_Loaded);
  5.         }
  6.         void Page_Loaded(object sender, RoutedEventArgs e)
  7.         {
  8.             //取得当前app实例
  9.             App myapp = App.Current as App;
  10.             //定义text变量用以保存接收到的数据
  11.             string text = string.Empty;
  12.             //读敢接收到的数据的key和value并添加到text中
  13.             foreach (var d in myapp.revalues)
  14.             {
  15.                 text += d.Key.ToString() + "=" + d.Value;
  16.             }
  17.             //show一个提示框并在里面展现text的内容
  18.             HtmlPage.Window.Alert(text);
  19.         }

完成.

工程文件到我的资源里下载

原创粉丝点击