专栏首页菩提树下的杨过silverlight/xap如何接收参数?

silverlight/xap如何接收参数?

silverlight不能象flash一样,直接以类似xxx.xap?name=123的方式传递参数,而是要用另一种方式实现:

html部分(注意高亮部分):

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
 <param name="source" value="ClientBin/InitParams.xap?color=red"/>
 <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="name=jimmy.yang,age=30" />
 <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;">
 <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="获取 Microsoft Silverlight" style="border-style: none"/>
 </a>
</object>

注:InitParams传递参数时,必须以x=y,a=b这样的键值对格式传入

cs部分:

App.Xaml.cs:

public partial class App : Application
{
 IDictionary<string, string> _dic;
 ...
        private void Application_Startup(object sender, StartupEventArgs e)
        {
   _dic = e.InitParams;
            this.RootVisual = new MainPage(_dic);  
        }
 ...

注:这里用e.InitParams取得传入的参数,同时利用new MainPage(_dic)将参数传到需要的xaml中去

MainPage.Xaml.cs部分:

public partial class MainPage : UserControl
{
IDictionary<string, string> _params;
public MainPage()
{
    InitializeComponent();            
}
public MainPage(IDictionary<string, string> dicParam)
{
    InitializeComponent();
 _params = dicParam;
    StringBuilder sb = new StringBuilder();
    foreach (var item in _params)
    {
 sb.Append(string.Format("key:{0} , value:{1}" + Environment.NewLine, item.Key, item.Value));
    }
    txtParam.Text = sb.ToString();
}
}

注:这里,我们重载了一个带参数的构造函数用于接受参数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • hessian学习

    hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速。官网地址:http://hessian.caucho...

    菩提树下的杨过
  • .net中使用oracle数据库分页的土办法

    近日公司一网站项目,要调用其它系统(call center系统)的oracle数据库数据,只能连接查询,无法创建存储过程,所以只能在sql语句上动脑筋实现分页:...

    菩提树下的杨过
  • druid 数据源 使用属性文件的一个坑

    直接上代码: <bean id="propertiesFactoryBean" class="org.springframework.bea...

    菩提树下的杨过
  • shiro教程5(整合SSM项目-认证)

    注意shiro的配置可以添加在spring的配置文件中。但是为了便于管理我们再单独创建一个shiro的配置文件,里面的Schema还是spring的。

    Java帮帮
  • 使用create-react-app简化前端项目的建立

    jeremyxu
  • 开发文档 web.xml基本配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    多凡
  • shiro教程5(整合SSM项目-认证)

    注意shiro的配置可以添加在spring的配置文件中。但是为了便于管理我们再单独创建一个shiro的配置文件,里面的Schema还是spring的。

    用户4919348
  • <param>标签

    <param> 标签允许插入 XHTML 文档的对象规定 run-time 设置,也就是说,该元素可为包含它的 <object>参数。

    Html5知典
  • spring4.0 整合 Quartz 实现任务调度(一)

    Java学习123
  • SpringMVC乱码或前台乱码解决办法

    以及 form表单提交方式为必须为post 修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)

    試毅-思伟

扫码关注云+社区

领取腾讯云代金券