Silverlight实用窍门系列:37  程兴亮,网名煦风满裳

在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString。首先我们新建一个名为SLConnectASP.NET的Silverlight应用程序,然后在SLConnectASP.NET.web项目中添加一个Index.aspx的页面。

一、Silverlight和ASPX页面的QueryString传参

实现思路:在Silverlight端跳转到页面到Index.aspx并且传递一个QueryString参数ID,在该Index.aspx页面显示出ID。在Index.aspx页面有一个按钮可以向Silverlight所在页面传递一个参数aspxid,在Silverlight端读取aspxid参数并且显示出来。

首先我们看Silverlight后台代码:

#regionQueryString传值//QueryString步骤一privatevoidbutton2_Click(objectsender, RoutedEventArgs e){//传递参数给Asp.net页面HtmlPage.Window.Eval("location='"+Application.Current.Host.Source.AbsoluteUri.Replace( Application.Current.Host.Source.AbsolutePath,"")+"/index.aspx?id=203';");}//QueryString步骤四privatevoidShowQueryString(){//接收到ASP.NET页面传送过来的QueryString值IDictionaryparas=HtmlPage.Document.QueryString;if(paras.ContainsKey("aspxid")) {this.label1.Content="获取到ASP.NET传值:"+paras["aspxid"]; }}#endregion

然后我们来看Index.aspx.cs的代码如下:

#regionASP.NET端操作Silverlight传输过来的QueryString值//QueryString步骤二privatevoidBindQueryString(){//ASP.NET端获取到Silverlight传输过来的QueryString值if(Request.QueryString.Count>0) {this.Label1.Text="获取到的Silverlight客户端QueryString值是:"+Request.QueryString["id"].ToString(); }}//QueryString步骤三protectedvoidButton1_Click(objectsender, EventArgs e){//回传QueryString值给Silverlight客户端Response.Redirect("./SLConnectASP.NETTestPage.aspx?aspxid=109");}#endregion

二、Silverlight和ASPX页面的Cookie传参

实现思路:在Silverlight端创建一个Key名为FirCookieKey,Value值为FirCookieValue的Cookie,然后跳转页面到Index.aspx页面,在该页面显示出来。在该页面有一个按钮可以修改这个Cookie,并且跳转回Silverlight端,在Silverlight端读取这个已经被修改过的Cookie并且显示出来。

首先我们看Silverlight端的后台代码MainPage.xaml.cs:包括步骤一创建Cookie、步骤四读取被修改过的Cookie

#regionCookie传值//Cookie步骤一privatevoidbutton1_Click(objectsender, RoutedEventArgs e){//编写一个键为FirCookieKey,值为FirCookieValue的CookiestringoldCookie=HtmlPage.Document.GetProperty("cookie")asString; DateTime expiration=DateTime.UtcNow+TimeSpan.FromDays(2000);stringcookie=String.Format("{0}={1};expires={2}","FirCookieKey","FirCookieValue", expiration.ToString("R")); HtmlPage.Document.SetProperty("cookie", cookie);//跳转界面HtmlPage.Window.Eval("location='"+Application.Current.Host.Source.AbsoluteUri.Replace( Application.Current.Host.Source.AbsolutePath,"")+"/index.aspx';");}//Cookie步骤四privatevoidShowCookie(){//显示当前键为FirCookieKey的Cookie值String[] cookies=HtmlPage.Document.Cookies.Split(';');foreach(String cookie1incookies) { String[] keyValues=cookie1.Split('=');if(keyValues[0]=="FirCookieKey") {this.textBox2.Content="Cookie的Key值是:"+keyValues[0];this.textBox1.Content="Cookie的Value值是:"+keyValues[1]; } };}#endregion

接着我们来看Index.aspx.cs,包括Cookie操作二和Cookie操作三

#regionASP.NET端获取到操作Cookie值//Cookie操作二privatevoidBindCookie(){//ASP.NET端获取到Silverlight传输过来的Cookie值HttpCookie cookie=Request.Cookies["FirCookieKey"];if(cookie.Value!=null) {this.Label2.Text="获取到的Silverlight客户端Cookie值:"+cookie.Value; }}//Cookie操作三protectedvoidButton2_Click(objectsender, EventArgs e){//回传重新设置Cookie值然后传输给SilverlightHttpCookie cookie=Request.Cookies["FirCookieKey"]; cookie.Value="NewCookieValue"; HttpContext.Current.Response.Cookies.Add(cookie); Response.Redirect("./SLConnectASP.NETTestPage.aspx");}#endregion

最后这两个实例的MainPage.xaml的代码如下:

Index.aspx的代码如下:

本实例采用VS2010+Silverlight 4.0编写。如需源码请点击 SLConnectASP.NET.rar 下载。本实例效果图如下:

asp.net html silverlight 传参数,Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)...相关推荐

  1. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  2. Python基础day05【函数(函数传参的两种形式、函数形参)、拆包、引用、可变与不可变类型、引用做函数参数注意点】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]    目录 0.复习 1.函数传参的两种形式[掌握] 2.函数形参 2.1.缺省参数(默认参数) ...

  3. ajax的data传参的两种方式

    ajax的data传参的两种方式 本文为转载. 1.[javascript] view plaincopy   /** * 订单取消 * @return {Boolean} 处理是否成功 */ fun ...

  4. 文档上传到FTP后换行格式发生变化?---记FTP的ASCII和Binary两种传输方式

    1.问题由来 之前在公司搭建了一套内网到外网的FTP服务器,以便内网开发人员上传需要拷贝的文件到外网,之前一直好好的,突然有一天发现上传打包好的jar包之后在外网拷贝,打开之后和内网的存在格式上的差别 ...

  5. vue 如何将参数放到连接上_通过Vue路由传参的两种方式及Vue组件中接收参数的方式...

    1. Vue传参方式 1.1 通过动态路由传参 我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件.例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染.那 ...

  6. SpringBoot实现前后端数据交互、json数据交互、Controller接收参数的几种常用方式...

    1.获取参数的集中常见注解 @PathVariable:一般我们使用URI template样式映射使用,即url/{param}这种形式,也就是一般我们使用的GET,DELETE,PUT方法会使用到 ...

  7. vue路由传参的两种方式

    项目场景: 例如:点击table表格第一列进入详情页,这时候我们进行路由跳转就需要携带一些参数以便我们在详情页使用 跳转方式 一般我们有两种方式让路由携带参数 1.路由传参query(path是路由地 ...

  8. 《ASP.NET Core 6框架揭秘》实例演示[32]:错误页面的N种呈现方式

    由于ASP.NET是一个同时处理多个请求的Web应用框架,所以在处理某个请求过程中出现异常并不会导致整个应用的中止.出于安全方面的考量,为了避免敏感信息外泄,客户端在默认情况下并不会得到详细的出错信息 ...

  9. e5cc温控仪通讯参数设定_自动化工程师:施耐德 PLC常见两种编程通讯控制实例,收好不谢...

    1.第一种是采用 UNTLW1协议进行联机编程: 参数设置与通讯配置检查:用 Premium的专用编程电缆"TSXPCX3030-C(USB接口,有专门的驱动)"通过调试机与CPU ...

最新文章

  1. MAC ox下配置mysql
  2. 洛谷 1541 乌龟棋
  3. c盘怎么清理到最干净_C盘快满了不敢乱删,该如何清理?这里给你最详细的方法!...
  4. 启明云端分享|乐鑫 ESP-NOW 无线通信方案主要特点、应用以及NOW一对一模式下通信速率
  5. Facebook、LinkedIn、Airbnb、Google专家聚首QCon,他们会带来什么?
  6. 【BCVP更新】StackExchange.Redis 的异步开发方式
  7. android view过度动画,为View的切换添加过渡动画
  8. list删除重复元素
  9. 【渝粤教育】电大中专电商运营实操_1作业 题库
  10. Win11画图工具没了怎么重新安装
  11. 微型计算机系统有三类总线它们是,《微机原理、汇编语言与接口技术》韩晓茹(习题解答全套...
  12. get查询IP PHP源码,ip归属地查询代码
  13. 用sync toy做增量备份
  14. 计算机组成原理选择题
  15. 大数据分析助迈凯轮车队角逐F1
  16. golang 网络心跳包设置
  17. [JavaScript实例解析]简易TODO List
  18. Vmware vSphere hypervisor 虚拟化软件安装
  19. 【理论】SPI Flash和E2PROM区别
  20. PVE服务器端口捆绑

热门文章

  1. RMVB格式介绍,如何播放该格式视频,以及将RMVB转换成MP4?
  2. LoadRunner 自动登录163邮箱
  3. C语言_函数认知和函数三要素
  4. 【Android App】在线语音识别功能实现(使用云知声平台与WebSocket 超详细 附源码)
  5. uniapp APP端运行报错 cid unmatched at view.umd.min.js:1
  6. codeforces 574B 暴力+复杂度分析
  7. Linux 锁机制(3)之自旋锁
  8. Nginx搭建HTTP正向代理服务器
  9. 【LRD,DLR】BST的后续遍历序列,二叉树中和为某一值的路径
  10. TextView 的各种max 及maxEms是什么意思