如何在Silverlight应用程序中获取ASP.NET页面参数
asp.net Silverlight应用程序中获取载体aspx页面参数
有时候SL应用中需要使用由aspx页面中传递过来的参数值,此时通常有两种方法获取
1. 使用InitParameters属性,动态设置传递参数 。
2. 在SL工程中使用HtmlPage类来直接获取页面参数。
如下面的项目结构,我们会在Default.aspx页面中需要传递两个值到SilverlightTestPage.aspx页面,并且需要在SilverlightTestPage.aspx页面所宿主的Silverlight应用程序中获取并显示:
其中Default.aspx页面看起来如下图所示:
在单击Submit按钮时,转向SilverlightTestPage.aspx页面,并传递两个参数,如下代码所示:
{
Response.Redirect(String.Format(SilverlightTestPage.aspx?username={0}email={1},
this.txtUserName.Text,
this.txtEmail.Text));
}
使用InitParams
第一种方法,我们自然会使用InitParams属性,在Silverlight宿主页面加载时,我们在ASPX页面中获取参数,并作为初始化参数传递给Silverlight应用程序,如下代码所示:
{
this.Xaml1.InitParameters = String.Format(username={0},email={1},
Request.QueryString[username],
Request.QueryString[email]);
}
然后在Silverlight应用程序的UserControl中设置两个属性,如下代码所示:
{
set {
this.lblUserName.Text = value;
}
}
public String Email
{
set {
this.lblEmail.Text = value;
}
}
这样就可以在Application_Startup事件中获取初始化参数,并传递给UserControl,如下代码所示:
{
Page page = new Page();
page.UserName = e.InitParams[username];
page.Email = e.InitParams[email];
this.RootVisual = page;
}
这样我们就通过InitParams来在Silverlight应用程序中获取到了ASP.NET页面的参数
第二种方法:使用HtmlDocument
其实上面的方法获取ASP.NET页面中参数有些麻烦,我们可以直接使用HtmlDocument,在HtmlDocument中定义了QueryString属性,如下代码所示:
这样我们可以在Silverlight直接使用HtmlDocument对象来获取当前Silverlight应用程序宿主页面中的参数,如下代码所示:
下面是利用HtmlPage类来获取参数的代码:
代码如下:
IDictionary<String, String> paras = HtmlPage.Document.QueryString;
this.lblUserName.Text = paras["username"];
this.lblEmail.Text = paras["email"];}
如何在Silverlight应用程序中获取ASP.NET页面参数的更多相关文章
- 转:如何在32位程序中突破地址空间4G的限制
//如何在32位程序中突破地址空间4G的限制 //首先要获得内存中锁定页的权限 #define _WIN32_WINNT 0x0501 //xp系统 #include <windows.h> ...
- 如何在Android应用程序中使用传感器模拟器SensorSimulator
原文地址; 如何在Android应用程序中使用传感器模拟器 - 移动平台应用软件开发技术 - 博客频道 - CSDN.NET http://blog.csdn.net/pku_android/arti ...
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- 如何在 Windows Phone 8 中获取手机的当前位置
原文 如何在 Windows Phone 8 中获取手机的当前位置 适用于:仅限于 Windows Phone 8. 本主题演示如何使用 Windows Phone 位置 API 确定手机的当前位置. ...
- java程序中获取kerberos登陆hadoop
本文由作者周梁伟授权网易云社区发布. 一般我们在使用kbs登陆hadoop服务时都直接在shell中调用kinit命令来获取凭证,这种方式简单直接,只要获取一次凭证之后都可以在该会话过程中重复访问.但 ...
- Silverlight 应用程序中未处理的错误
Silverlight 开发中遇到个错误: SCRIPT5022: Silverlight 应用程序中未处理的错误 代码: 2108 类别: InitializeError 消息: 无法下载初始屏幕或 ...
- Servlet中获取POST请求的参数
在servlet.filter等中获取POST请求的参数 form表单形式提交post方式,可以直接从 request 的 getParameterMap 方法中获取到参数 JSON形式提交post方 ...
- Ajax获取接口数据,url拼接参数跳转页面,js获取上一级页面参数给本页面
1.Ajax获取接口数据 function demo(){ //假设请求参数 var requestBody = [{ "name":"zhang", &quo ...
- Silverlight应用程序中调用WCF Ria Services访问数据库图片
WCF Ria Services(通常称为RIA服务),专门设计让Silverlight应用程序访问数据库,网上有关其示例应用都是基于简单的数据显示,其中MSDN网站上有详细的解决方案介绍,地址htt ...
随机推荐
- java.lang.NoSuchMethodError: com.google.common.collect.Maps.newConcurrentMap()Ljava/util/concurrent/ConcurrentMap;
在storm启动topo的时候,报错: java.lang.NoSuchMethodError: com.google.common.collect.Maps.newConcurrentMap()Lj ...
- ios中模拟延时的几种方法
- (void)delay1 { // 延迟执行不要用sleep,坏处:卡住当前线程 [NSThread sleepForTimeInterval:3]; NSLog(@&qu ...
- hdu5353
模拟,,, 每个人有一些糖果,每两个人之间只能给一个糖果,问最后是否能让所有人的糖果数量相同,只要确定一个糖果的流向其他的就能够确定. 马虎了,卡了好几天,心塞塞的... #include<io ...
- 安装hadoop2.6.0伪分布式环境
集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...
- ios NSKeyedArchiver 保存对象与对象数组
废话不说,直接上代码 // // CommunityTool.h // SmartCommunity // // Created by chenhuan on 15/9/2. // Copyright ...
- 消息机制 - Windows程序设计(SDK)004
消息机制 让编程改变世界 Change the world by program 内容节选: 我们来回顾一下,窗口是怎么从代码中诞生出来的? 1. 首先我们是通过给 WNDCLASS 窗口类结构各个成 ...
- android应用开发之Window,View和WindowManager .
ViewManager vm = a.getWindowManager(); vm.add(view,l); window :一个抽象的窗口基类,控制顶层窗口的外观和行为.作为顶层窗口,可控制窗口背 ...
- GO不支持数组通过函数参数更改,有点不一样
package main import "fmt" func modify(array []int) { array[] = fmt.Println("In modify ...
- FJ省队集训DAY3 T1
思路:我们考虑如果取掉一个部分,那么能影响到最优解的只有离它最近的那两个部分. 因此我们考虑堆维护最小的部分,离散化离散掉区间,然后用线段树维护区间有没有雪,最后用平衡树在线段的左右端点上面维护最小的 ...
- 使用脚本管理IIS
参考资料https://technet.microsoft.com/zh-cn/library/cc779108(WS.10).aspxhttps://technet.microsoft.com/zh ...