asp.net 页面间数据传递方法

合集下载

ASP NET页面数据传递方法分析

ASP NET页面数据传递方法分析

页面数据传递的方法分析摘要:在web应用开发中,web页面间经常需要进行少量或大量的数据传输,目前web页面数据传输有许多不同的方法,各自也存在着一些问题和不足。

本文主要以这个当前比较流行和常用的编程工具为例,讨论各种web页面数据传递方法,比较它们的优缺点,希望对web程序开发人员有所帮助。

关键词:;页面数据传输;方法中图分类号:tp311文献标识码:a文章编号:1007-9599 (2013) 07-0000-021引言是目前比较热门的开发工具。

它的前身是鼎鼎大名的asp 程序。

由于asp在web应用开发上存在着种种先天不足,2000年微软对asp低层架构进行了大幅度修改,诞生了.net架构。

在web应用开发中,因为强大的多平台适用性受到越来越多的程序员的青睐。

在进行网页应用程序开发时需要处理很多web页面间的数据传递。

因为数据传递的方式涉及到整个系统整体设计以及程序运行的安全性和合理性,所以在asp的编程思维中,开发程序时的数据传递普遍采用post方法通过定义全局变量把值从页面传送到服务器。

而在中,开发程序则有多种不同的数据传递方式,下面一一进行阐述和分析。

页面数据传递方式探讨2.1用查询串实现页面数据传递querystring方式是最为常用的一种页面数据传递方式,用过asp的用户可以很明显找到它们之间的相似之处,都是将目标数据放在网页的地址栏中进行传递。

例如:1234567.asp?pn=abcdefg.那?号后面的就是querystring。

而url 的querystring参数就是变量pn等于abcdefg。

这种方式的特点比较容易实现,服务器端开销也小,但缺点也非常明显。

它在实现传递数据的过程中,数据内容在url栏中是以明文方式显示的,数据的安全性非常差,因此该方法仅仅适合用在传递安全性不重要的数值。

2.2借助隐藏文本框实现数据传递使用隐藏文本框实现数据传递,是在网页页面加入隐藏控件,这样数据就不会显示在用户的浏览器上,而且通过使用隐藏文本框可以储存任何与网页有关的信息。

ASP.NET页面间的数据共享方法综述

ASP.NET页面间的数据共享方法综述


服 务 器 端 的数 据 共 享 方 法 是 把 数 据 保 存 在 服 务 器
端 的 文 件 或 者 数 据 库 中 前 一 个 页 面 把 数 据 保 存 在 文
① 将数据写入 C o i( oke 写入客户端 )R so s.o : ep ne — C
o is“ 量 名 称 ”. le 数 据 ke[变 ] u= Va Coi 量 的生命周 期 起始 于浏 览器 被执 行 时 . o ke变
0 引 言
动 态 网站 的 页 面 文 件 放 在 服 务 器 端 . 当有 客 户 通
设 置 C Oi O ke的过 期 日期 : s o s.o ke ‘ 量 Rep neC o is f变 ‘
名 称 ”.x i s# 日期 # 、 pr = E e
过 HT 1 P协 议 请 求 连 接 时 . S编 译 执 行 对 应 的 页 面 文 r I I 件 后 传 送 到 客 户 端 . 成 一 次 响 应 H T 完 1 P是 一 种 无 状 r 态 协 议 . 仅 仅 检 索 用 于 显 示 的 单 个 We 它 b页 . 用 户 即 请 求 一个 We b页 .浏 览 器 连 接 请 求 的 We b服 务 器 . 检 索 该 页 并 处 理 后 即 中 断 连 接 .有 新 的请 求 时 再 建 立 连
A P NE S . T页 面 间 的数 据 共 享 方 法 综述
贺桂 英
( 东 广 播 电视 大 学计 算 机 技 术 系 , 州 5 0 9 ) 广 广 1 0 1
摘 要 : P. AS NET 是 一 种 服 务 器端 的 编 程 技 术 , 使 用 CL 构 建 的程 序 设 计 平 台 , 够 在 服 务 器端 是 R 能 建 立功能强大的 We b应 用 程 序 。 介 绍 使 用 AS . PNET技 术 创 建 W e b应 用 程 序 ( 态 网站 ) 动

ASP页面传值

ASP页面传值

页面之间传递值的几种方式页面传值是学习初期都会面临的一个问题,总的来说有页面传值、存储对象传值、ajax、类、model、表单等。

但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer。

一、QueryStringQueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。

如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。

但是对于传递数组或对象的话,就不能用这个方法了。

这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效。

这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的。

2.不能传递对象。

使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址。

2.在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。

3.在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。

例子:(1)a.aspxprivate void Button1_Click(object sender, System.EventArgs e){string s_url;s_url = "b.aspx?name=" + Label1.Text;Response.Redirect(s_url);}(2)b.aspxprivate void Page_Load(object sender, EventArgs e){Label2.Text = Request.QueryString["name"];}二、Session想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

基于结构的ASP.NET页面间传值方法

基于结构的ASP.NET页面间传值方法
基于结构的
!"#$%&’ 页 面 间 传 值 方 法
褚建立 !李洪燕 "邢台职业技术学院 $河北 邢台 ’ ,# ’", ’
摘要 " 本文在分析 -. /0123 三层架构的基础上 $ 提出了利用结构在 -./01 23 页面之间进行传值的程序代码 & 关键词 "-. /0123 (页面 (结构 中图分类号 ")%*!! 文献标识码 " # 文章编号 "!++,-*+../"++01+"-!+**0- +! 456 789:(;8< => 5?:@ (A9: !B 8:@ C98 /?;A CDEF:8E 4?;;D@D< B 8:@C98 ’, #’" ,<4 F8 :9% #?E5G:I 5J 3F8G H9H DI I98GDG CFD HI?@I9J E?KD ?L MC8;8 N8:@ LI9JDG C? E9;; OA P9; MD O DCQ DD: -. /0123 H9@D ;9A?MC ?: CFD O9G8G ?L 9:9;AN8:@ -./0 123 CFIDD ;9ADI L I9JDG0 K3@ L 6G7E J-./0 123< H 9@D ;9A?MC< LI9JD ) 23 4 35267 68 9:;;<=> ?@ A:;B3 <= #$%&’() %:>3 C:@6B5 D:E37 6= FG:H3E
! 引言
!"#$%&’ 是 (") *+,-./0 " 01/01 )23045 的后继版本 !支 持多种 编程语言 6如 7 8"9 ",1.:- ;< ’ "=>$ %<’ 等 # +")$%< ’ 是完全基于组 件的 6所有的页面 "7 ?@ 对象乃至 A’BC 元素都可以视为对象 $ 因 此 !+" )$%&’ 为网站设计人员和 网络程序员设计开发 基于 >D" 结 构的 E0F 应用程序系统提供了更简单快捷的开发方法 $ 然而 ! 在 用 (" )G %&’ 设 计开发一个 E0F 系统时 ! 如何保证数据在页面间 进行高效地传送成了一个重要的问题 $ 在传统的 +" ) 中 ! 通过使 用 )?" ’ 或 H0- 方法 可以 较容易 地解 决这 种页面 间的 值传送 问 题 ! 但是在使 用事件驱动编程模型 的 +")G%<’ 里 ! 该问题解 决起 来反而显得比较复杂 $

ASP NET考试试题及答案详析(1)

ASP NET考试试题及答案详析(1)

一、填空题(1)ASPX网页的代码储存模式有两种,它们是___和___代码分离模式。

答案:代码分离模式,单一模式(2)当一个Web控件上发生的事件需要立即得到响时,应该将他的属性设置为true。

答案:AutoPostBack(3)请将下列数据(nn)在TextBox控件中显示出来。

Double nn=4512.6;TextBox1.Text=答案:nn.ToString()(4)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为.答案:Password(5)下面是一个转移到新网页的指令:Response.Redirect(“”)答案:新网页的Ur1(6)在设计阶段必须将各个验证控件的属性指向被验证的控件。

答案:ControlToValidate(7)下面是设置和取出Session对象的代码。

设置Session的代码是:Session[“greeting”]=“hello wang!”;取出该Session对象的语句如下:string Myvar=;答案:Session[“greeting”].ToString()(8)下面是使用Application对象时防止竞争的代码。

Application.;//锁定Application对象Application[“counter”]=(int)Application[“counter”]+1;Application.;//解除对Application对象的锁定答案:lock(),unlock()(9)废除Session的语句是:。

答案:Session.Abandon()(10)打开文件系统网站时将自动打开一个服务器,这是一个轻量级服务器,可以用来对程序进行检查和调试工作。

答案:开发(11)所谓分布式类就是在多个文件中使用相同的____,相同的____,而且每个类的定义前面都加上____修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。

页面之间传递参数的几种方法

页面之间传递参数的几种方法

页面之间传递参数的几种方法在开发网站和应用程序时,页面之间传递参数是一种非常常见的需求。

页面之间传递参数可以实现不同页面之间的数据共享和交互,方便用户在不同页面之间进行操作。

本文将介绍几种常用的页面之间传递参数的方法。

1. URL 参数URL 参数是最基本的一种传递参数的方法。

通过在 URL 中添加参数,可以在不同页面之间传递数据。

例如,假设我们有一个用户列表页面,点击某个用户的链接后,希望在用户详情页面中展示对应用户的详细信息。

可以在用户链接的 URL 中添加用户的 ID 参数,如/user/detail?id=123,然后在用户详情页面中读取这个参数进行相应的处理。

URL 参数的优点是简单易用,适用于传递少量简单的参数,例如 ID、页码等。

但是对于复杂的参数,URL 参数的长度有限制,不适合传递大量数据。

2. 表单提交表单提交是另一种常见的传递参数的方法。

通过在表单中添加隐藏字段或者通过表单元素的值来传递参数。

例如,假设我们有一个搜索页面,用户在搜索框中输入关键词后,点击搜索按钮将关键词传递给搜索结果页面。

可以将关键词作为隐藏字段或者作为表单元素的值,在表单提交时一同传递给搜索结果页面。

表单提交的优点是传递参数方便,适用于传递复杂的参数和大量数据。

但是需要注意的是,表单提交会导致页面的刷新,不适合在不同页面之间进行动态交互。

3. CookieCookie 是一种在客户端存储数据的机制,也可以用来传递参数。

通过将参数存储在 Cookie 中,在不同页面之间进行传递。

例如,假设我们有一个购物车功能,在用户添加商品到购物车时,可以将购物车的相关信息存储在 Cookie 中,在不同页面中读取和使用这些信息。

Cookie 的优点是方便,可以存储较多的数据,并且可以在客户端保持持久性。

但是,由于 Cookie 存储在客户端,因此存在安全性的考虑,不能存储敏感信息。

4. SessionSession 是在服务器端存储用户状态的机制,也可以用来传递参数。

asp.netmvc从后台向前台传送数组或JSON数据

asp.netmvc从后台向前台传送数组或JSON数据

mvc从后台向前台传送数组或JSON数据⽐如传送这样的数组{ { "build", "" },{ "analyse", "" },{ "openbook", "" }},可以把这样的数组转换成JSON数据,然后传递到前台.后台代码:1namespace myapp.Controllers2 {3public class HomeController : Controller4 {5public ActionResult Index()6 {7return View();8 }910public ActionResult GetData()11 {12string mystring = "[{ \"第⼀项\": \"build\", \"第⼆项\":\"\" },{ \"第⼀项\": \"Brett\", \"第⼆项\":\"\" },{ \"第⼀项\": \"openbook\", \"第⼆项\":\"\" }]"; 1314return Json(mystring, JsonRequestBehavior.AllowGet);15 }16 }17 }Index.cshtml ⾥⾯:1 <script type="text/javascript" src="~/myjquery/jquery.min.js"></script>2 <script type="text/javascript">3 function hhh() {4 $.ajax({5 url: "/myapp/Home/GetData",6 type: "GET",7async: false,8 dataType: "json",9 error: function () { alert("err"); },10 success: function (data) {11var json = JSON.parse(data);12 $.each(json, function (idx, obj) {13 alert(obj.第⼀项);14 alert(obj.第⼆项);15 });16 }17 });18 }19 </script>。

在ASP.NET中实现Web页面值传递方法的比较

在ASP.NET中实现Web页面值传递方法的比较
近 几 年 来 , 于 T P I 的 Itre 基 C /P nen t以 及 I ta e 技 术广 泛 地应 用 于各级企 业 及其 组织 的 nr n t
利 用 URL的参数 传 递值 是 最简 单和 最 方便 的方法 , 其安全 性不好 。 户可 以在浏览 器 上 的 但 用 地址 栏 中直 接看 见 参数 值 , 其修 改 而造 成 安 全 对 隐患 。如在 UR 的参 数 中传 递银 行账 号和 密码 , L 可能被 旁 观者 看见 , 而 盗取 用 户 的银 行 账号 和 从 密码 , 对用 户造成 经济损 失 。 另外 , URL的参数 传
406) 3 0 8
407 ; 30 0
3 湖北 工 业 大 学 计 算 机 学 院 , 北 武 汉 . 湖
摘 要 : 软公 司推 出的 . T框 架 以 We 微 NE b应 用 程 序 和 We b服 务 为核 心 。 We 环 境 中 , 面 之 间 的 数 据 传 在 b 页 递 的 方 法 又 有 了新 的发 展 , 以通 过 传 统 的 UR 可 L参 数 传 递 和 会话 级 传 递 , 以及 通 过 AS . E 服 务 器 控 件 传 PN T
递 只能是简单 的数 据类 型 , 如整 型 , 字符 串等 。
信息 发布 和 共享 , 中一 个 很重 要 的手 段就 是建 其 立 We b站点 。 传统 的静态 网页技术 越来越 不能满
足 用户 的需 求 , 因此各 种 动态 的 网页 技术 应运 而
生 , P NE 是微 软新 一代 的动 态网页技 术 , AS . T 它
安全性 比UR L的参数 传递值 要好 很多 。 A P NE 提供 以下 会话 支持 : S. T ( ) 于使 用 的会 话状态 功 能 , 1便 该功 能是 AS P

Asp.net页面之间传递参数的几种方法

Asp.net页面之间传递参数的几种方法

页面之间传递参数的几种方法第一种方法:通过URL链接地址传递send.aspx:protected void Button1_Click(object sender, EventArgs e){Request.Redirect("Default2.aspx?username=honge");}receive.aspx:string username = Request.QueryString["username"];这样可以得到参数值。

第二种方法:通过post方式send.aspx<form id="form1" runat="server" action="receive.aspx"method=post><div><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><asp:TextBox ID="username" runat="server"></asp:TextBox> </div></form>receive.aspxstring username = Ruquest.Form["receive"];第三种方法:通过sessionsend.aspx:protected void Button1_Click(object sender, EventArgs e){Session["username"] = "honge";Request.Redirect("Default2.aspx");}receive.aspx:string username = Session["username"];这样可以得到参数值。

ASP.NET页面传值方法研究

ASP.NET页面传值方法研究
h.s a px:
的问题 :如用户填写用户注册信息完成后点击提交按钮 , 发现原来输入的数据 有错误 , 想返 回到原来数据输入的页 面进行修改, 这需要将注册页面输入的数据保留并 重新 显
示 。 此 时 要 求 We b系统 能 够 保 持 用 户 原 来 的状 态 并 在 页
L bl.etSsi 【 a e】 otn 0/ Ssi ae1 x es n . m ”T Sr g ; 将 es n变 T = o . n . i / o 量 显示 出来 Ssi .e oe”a ” /清 除 Ssi es nR m v( me) / o n ; es n变 量 o 三 、 p lai A pi t n的使 用 c o
Ssi 。Ssi es nI es n的值放在服务器端 , o D o 运行时通过用户的
I D去找服务器 上对应的值。 es n的 Tm o t Ssi o ieu 属性默认为
2 钟 。Ssi 0分 es n对 象 为 当 前用 户 会 话 提 供 信 息 , 话 期 间 o 会 这 些 状 态 变 量 的 值 保 留不 变 , 并且 可 以 被 同 一个 服 务 器 中 的所 有 页 面 访 问 。 由此 可 以看 到 A PN T中 的 Ssi S .E es n对 象 可 以直 接 存 o 储 对象 , 无 大 小 限 制 。该 方 法 的缺 点 是 : 于 We 用 且 由 b应
A PN T页 面传 值 方 法 研 究 S 。E
陈 志 坚
( 城职 业技 术 学 院 , 晋 山西 晋 城 0 8 2 ) 4 0 6
用 户的请求里是 否已包 含了一个 Ssi es nI o D,如果没有则 服 务器就 为此 用 户创建 一个 Ssi es n并且 相应 生成一 个 o

基于ASP和ASP.NET的页面问数据传递模式研究

基于ASP和ASP.NET的页面问数据传递模式研究

软件透视
基于AS 和AS . T的页 面问数据 P PNE 传递模 式研究
一 奚维肠
摘 要 : 页面间数据传 递 是在A P S.E 网页设计 中经常使 用的一种技 术 。 同的传递 方式性能各 不相 同 S和A P T N 不 对 网络编程技 术中采
用传统 的A P s应用程序 和流 行 的A P E 用程 序的各 种不同方法来处理 页面间的数据 传递 的问题 进行 了 究和 分析。 S. 啦 N 研
递 的数 据 。 如 : le t 的 发送 页 面 : c in 端
< o m n m =“ e t c i n r s e t a p f r a e t s ”a t o =“ e p c . s ”>
如: le t c in 端的发送页面:
r s o s.o k e (o k e a e )‘ s r a e ) “ i e p n ec o i “c o in m ” ‘ue n m ” = x (
关键 词: s ; s.e; ap apn t数据 传递 ; 务 服
A PN T S. E 是微软公司开发的一种全新 的动态 网站开发技 将要传递 的数据 附加在网页地址 (R ) U L后面进行传 递。 R 如U L 术。 利用A PN T 程序设计人员可 以很方便地在服务器端利 为 : tp /w wh n .e/ e t e? sr a e xw ia g S .E , h t : / w . g cn tt s w b u e n m = iey n , 用通用语言环境进 行程序设计。 用户可 以根据个人喜好选择 其中 “ ” ? 后面所跟着 的字符 串便是传递的数据,“ ”前面 的 = 进行 设计所需要的开发语言, # V 、 a a c it , 如C 、 B J v S r p 等 使代 码逻辑更清晰、 易于管理 。 更 “ sr a e 是变量名 ,“ ” uenm ” = 后面的 “ iey n ” xw ia g 是数值。 可 以使用A P S应用程序 中r ~ u s 对象获取变量名所传递 的数 eqe t

Asp.net Web页面之间传值问题研究

Asp.net Web页面之间传值问题研究
Re p n e Wr e “ 名 为 : + n me+ ” b s o s. i ( 姓 t ” a 0 r Re p n e W r e “ 资 为 : s o s. i ( 工 t ”+ slr ) aa y ;


在 上述 的 ul中 , 询 字 符 串 有 两 个 字 段 , 个 字 段 r 查 一 是 n me 另 外 一 个 字 段 是 s lr , 论 目标 网 页 是 相 同 a , aay 不 We b应 用 程 序 中 的 网 页 还 是 外 部 网 站 的 网 页 , 询 字 符 查 串都 可 以顺 利 运 行 , 且 目标 网 页 不 限 于 a p n t网 页 。 而 s. e 不 过 当 目标 网 页是 一个 a 巾使 用 Htp q et 象 的 Qu r S r g属性 来 读 取 查 询 tRe u s 对 ey ti n 字 符 串 的字 段 值 。
中图 分 类 号 : 3 1 TP 0
文献 标 识码 : A
文 章 编 号 : 6 2 7 0 ( 0 1 0 —0 20 l 7 —8 0 2 1 ) 90 1 —3
n me+ ”>s l r = ” + s lr + ” tu ): a g aa y aay ”.r e
0 引 言
p o e t d v i Bu t n1 Cl k( bet s n e , E e — r t c e od to i o jc e d r c v n

用查询字符 串传 值 的 数量 大 小受 到 限制 , I 也 E6为
例, URL最 多 只 许 含 有 2 4 0 8个 字 符 。 然 而 用 S r e. evr
要 使 用查 询 字 符 串 , 代 码 如 下 : 其

ASP.NET中页面间传值方法的实现

ASP.NET中页面间传值方法的实现
间 传 值 的 方 法 进 行 阐 述 与 讨 论
关 键词 :S .E 集合 : 量 : 传递 A PN T; 变 值
中 图 分 类 号 :P 1 .1 T 3 11
文献标 识码 : A
文 章 编 号 :6 2 7 0 (0 0 0 — 0 3 0 17— 80 2 1)70 4— 2
种 方 式 ,在 A PN T中 , e u s 对 象 的 Q ey t n S .E R q et u rSr g属 性 可 以 i
摘 要 : 发 We 开 b应 用 程 序 时 , 重 要 的 就 是 需 要 处 理 浏 览 器 和 We 最 b服 务 器 之 间 的 交 互 , 中 W e 其 b页 面 之 间 的 值
传 递就 显得 更 为关键 。在 A PN T框 架所提 供 的 用 以页 面间传值 的方 法有很 多种 , S .E 每种 方 法都有 自己的特 点 , 细 详 了解其 方 法的特 点 , 并在 程 序 开发 中灵 活应 用 , 对优 化程 序 的性 能有很 大帮助 。就 AS .E PN T开发 环境 所提 供 的 页 面
e )
{ ep neR drc( so . p t t= + oUsr et “ + R so s.e i t “h wa xe l ” L g e. x+ &” e s x T “ x = + o P dT x) } t t ” L g w .et : e2 so .sx的 P g_ od的 处 理 代 码 : hw ap aeLa
数据。
1 . 使 用 S sin变 量 传 值 2 eso
1 页 面 间值 传 递 的各 种 方 法
本 文 中 出现 的 程序 段 编 码 采 用 C 语 言 。设 有两 个 页 面 : l i.sx 在 页 面 上 添 加 两 个 文 本 框 T xB x 分 别 命 名 为 I . o nap ( g eto . J 0 g srL g w , 个 B t n按 钮 )so ap ( 页 面 上 添 加 一 U e,o P d 一 ut o , w. x 在 h s

2022~2023计算机二级考试题库及答案参考54

2022~2023计算机二级考试题库及答案参考54

宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。

——《洪应明》2022~2023计算机二级考试题库及答案1. 在Powerpoint系统中,不能插入Excel图表。

正确答案:错误2. Word格式栏上的B、I、U,代表字符的斜体、下划线标记、粗体。

正确答案:错误3. 微机总线主要由数据总线、地址总线、控制总线三类组成。

正确答案:正确4. 在Windows98资源管理器中,【编辑】菜单项中的“剪切”命令只能剪切文件夹。

正确答案:错误5. 以下对一维整形数组 a的正确说明是A.int a(10);B.int n=10,a[n];C.int n;D.int a[10];正确答案:D6. 程序 Test.java编译运行后输出的结果是 ( )。

public class Test {String s1="java";public static void main(String args[]) {int z=2;Test t=new Test();System.out.println(t.s1+z);}}A. java2B.2C.没有输出结果D.java正确答案:A7. 发布网站后不可能存在的文件夹是 ( )A.App—DataB.App-CodeC.App-Themes人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。

——《顾炎武》正确答案:B8. 关于计算机总线的说明 不正确 的是 ____。

A.计算机的五大部件通过总线连接形成一个整体B.总线是计算机各个部件之间进行信息传递的一组公共通道C.根据总线中流动的信息不同分为地址总线、数据总线、控制总线D.数据总线是单向的,地址总线是双向的正确答案:D9. 假设数据库表中有一个名字字段,查找姓李的记录的准则是A.Not" 李 *"B.Like" 李"C.Left([ 姓名 ],1)=" 李"D."李"正确答案:C10. 计算机软件系统分为系统软件和应用软件两大部分。

C#试题大全--C#考试试题(一)

C#试题大全--C#考试试题(一)

第一版2.列举 页面之间传递值的几种方式。

答. 1).使用QueryString, 如....?id=1; response. Redirect()....2).使用Session变量3).使用Server.Transfer3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。

答:public class MainClass{public static void Main(){Console.WriteLine(Foo(30));}public static int Foo(int i){if (i <= 0)return 0;else if(i > 0 && i <= 2)return 1;else return Foo(i -1) + Foo(i - 2);}}4.C#中的委托是什么?事件是不是一种委托?答:委托可以把一个方法作为参数代入另一个方法。

委托可以理解为指向一个函数的引用。

是,是一种特殊的委托5.override与重载的区别答:override 与重载的区别。

重载是方法的名称相同。

参数或参数类型不同,进行多次重载以适应不同的需要Override 是进行基类中函数的重写。

为了适应需要。

6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Applic ation,您有几种方法进行处理?答:QueryString、FormsAuthentication、this.Server.Transfer7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?答:foreach (System.Windows.Forms.Control control in this.Controls)if (control is System.Windows.Forms.TextBox){System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ;}}8.请编程实现一个冒泡排序算法?答:int [] array = new int [*] ;int temp = 0 ;for (int i = 0 ; i < array.Length - 1 ; i++){for (int j = i + 1 ; j < array.Length ; j++){if (array[j] < array[i]){temp = array[i] ;array[i] = array[j] ;array[j] = temp ;}}}9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:可以用任意类型。

ASP.NET页面间传值方法研究

ASP.NET页面间传值方法研究

传送. 并指 出无论是 哪一种页面问传值 的方 法, 都有其适 用范 围, 中合理 的数据传 递方 式是 We 面设计 其 b页
中 的关 键 考虑 因 素 .
[ 关键词]AS . T;驱动编程 ; 值 P NE 传 [ 中图分类号]TP 9 33 [ 文献标识码] :A
AS . T We oms提 供 了事 件 驱 动 编 程 P NE b F r 模 型 , 开发者 简 化 了应 用 程 序 的 总 体 设计 . 而 , 让 然
编程模 型 的 AS . T 里 。 问题 解 决起 来 反 而 显 P NE 该 得 比较复 杂 , 结 合具 体 实 例探 讨 AS . T 下 的 现 P NE
6 解 决此 问题 的方 法_ . 种 1 ]
并通 过 目标 页 面中 的二 个 L b l a e 显示 从 源页 面 中传 送来 的数 据 , 面 以此 为 例 介 绍 页 面 间数 据 传送 的 下
用 户的输 入 和 向用 户 的输 出. 间层 是 上 下 两 层 的 中
体 的实 现代码 片段如 下 [ ; 3 ]
P ia e v i to r v t o d Bu t n]

纽带 , 建立 实 际 的数据库 连 接 , 根据 用户 的请 求 生成
S QL语句 检索 或更 新数 据 库 , 把 结 果 返 回给客 户 并 端 , 常 以动态链 接 库. l的形 式存 在 . 面 为数 据 通 dl 后
方法 . 2 1 使 用 Qu rSrn . ey tig
最 为常 见 的 页 面 传 送 值 方 法 是 使 用 Qu rS — ey t ig 这种 方法 的 主要 优 点 是 实 现 起 来 非 常 简 便 , n, 通

ASP.NET动态网页中的数据传递技术

ASP.NET动态网页中的数据传递技术
明 , 比 分析 了各 个 对 象之 间 的差 异 和 优缺 点 , 举 例 说 明 了各 个 对 象 的应 用 方 法 。 具 体 应 用 决 定 了数 据 传 递 方 式 的 选择 , 理 数 对 并 合 据 传 递 方 式 选择 是 W e b页 面 的设 计 中的 关 键 考 虑 因 素 。
ti pp r e ea o j csa o ttas sin o aab t e n teAS . T ae ecie .I a a zd c mprt ey o edf rn e hs a e,sv rl bet b u rnmi o fd t e e h PNE p g sd sr d t n y e o aa v l ft i ee cs s w b l i h
b t e e a o s be t a v na e a d d a vn ae, n ls a d te api t n o e S eica pi t n d t mie ted t e wen t r u j c , d at s n s a t s a d iut t p l a o f m. p c p l a o e r n s a h v i o s g i d g l re h ci h t i f ci e h a
ta frm od fc ie e s a e c oie o t rnse st e d sg fW e g so eke c nsd rto . rnse e o ho c ,r aon bl h c fdaata fri e in o b pa e ft y o i e a ns h h i K e o n t r n fr ls;sr lz to i
Vo . No 2 , g s 01 P . 2 4- 2 7 1 6, . 2 Au u t 2 0, P 6 6 6 6

ASP NET页面间传输数据的几种方法研究

ASP NET页面间传输数据的几种方法研究

页面间传输数据的几种方法研究摘要:与ASP相比,为程序开发者提供了很好的事件驱动开发模式。

但是,当我们在多个Web页面间传递数据时, 却无法像ASP那样通过POST方法简单地实现Web页面间的数据传输。

在现有的许多文章中,介绍了一些解决方法,但是都不是很全面。

在借鉴别人研究的基础上,参照框架介绍的几种补充机制对页面间传输数据的方法进行了归纳和总结。

关键词:;数据传输;变量由于HTTP 是无状态的协议,所以没有必要在HTTP (Web)服务器上存放每个请求或用户的信息,在默认情况下,同一个用户的多次请求被看作是一系列非关联的单个请求。

事实上,服务器没有“用户”这样的概念。

如果需要通过请求次数管理用户或应用相关的数据,则需要通过管理策略自行管理。

本文探讨的主要是为Web开发人员提供客户端与服务器端的通信解决方案:①隐式表单;②查询字符串;③UrlData;④Cookies;⑤会话变量;⑥应用程序变量;⑦高速缓存。

当然,每种方法都有它的利弊,开发人员可以根据自己的不同需要选择使用。

1 隐式表单可以使用将隐藏的字段添加到窗体表单中,对于用户来说,他们是不可见的,因此用户不能够直接在隐藏字段中输入值。

但是,如果是一个开发者则可以从客户端和服务器端代码设置它们的值。

需要注意的是,虽然隐藏的字段对于用户来说是不可见的,但是这并不代表它是安全的。

因为数据的存储和传输都是纯文本格式(除非开发人员自己进行加密),这就意味着浏览者可以通过浏览器访问HTTP源代码。

因此,这种方法不适用于存储敏感数据。

2 查询字符串使用QueryString实现页面间的数据传递,就是把要查询的值添加到浏览器的地址栏里,用?符号隔开,如下所示:例如:http://?name1=value1&name2=value2&name3=value3每个待查的值都是用&符号隔开,从Page.Request.QueryString 集合中获取到值,通常情况下,使用QueryString的超链接是从代码中动态生成的。

ASP.Net与ASP.NetCore中页面传值的几种形式和方法简介

ASP.Net与ASP.NetCore中页面传值的几种形式和方法简介

与Core中页⾯传值的⼏种形式和⽅法简介在开发 以及 Core过程中主要使⽤的页⾯传值的⽅法有以下⼏种:Request.QueryString[] Request.Form[] Session,Cookie Cache Application, Server.TransferDatabase HttpContext的Item属性 Files DataBase等1、Request.QueryString代码如下:protected void getQueryString_Click(object sender, EventArgs e){string QueStr = Request.QueryString["name"];Response.Write(QueStr);}分析:Request.QueryString 获取http查询字符床变量集合。

有两重载即Request.QueryString[string name]和Request.QueryString[int index]两种其中Request.QueryString主要获取url中的“?”之后的参数,例如url: a.aspx?name="nueq",则 Reuqest.QueryString["name"]的值为“neuq”。

2、Request.Form代码如下:protected void getQueryString_Click(object sender, EventArgs e){string strQueForm = Request.Form["TextBox1"];Response.Write(strQueForm);}分析:Request.Form获取窗体变量集合有两重载(⼀般Form表单post提交⾄后台的数据)。

即Request.Form[string name] 和Request.Form[int index],获取表单指定名称的参数值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0、引言
web 页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。

在用 设计开发一个web系统时,遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送, 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.net 下的解决此问题的各种方法和各自的适用场合。

1、数据传递的各种方法和分析
1.1 使用querystring 方法
querystring 也叫查询字符串,这种方法将要传递的数据附加在网页地址(url)后面进行传递。

如页面a.aspx 跳转到页面b.aspx,可以用request.redirect(b.aspx?参数名称=参数值)方法,也可以用超链接:,页面跳转后,在目标页面中可用ruquest[参数名称]来接收参数。

使用querysting 方法的优点是实现简单,不使用服务器资源;缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险,不能传递对象,只有在通过url 请求页时查询字符串才是可行的。

1.2 利用隐藏域
隐藏域不会显示在用户的浏览器中,一般是在页面中加入一个隐藏控件,与服务器进行交互时把值赋给隐藏控件并提交给下一页面。

隐藏域可以是任何存储在网页中的与网页有关的信息的存储库。

使用隐藏域存入数值时用:hidden 控件.value=数值,取出接收数值时用:变量=hidden 控件.value。

使用隐藏域的优点是实现简单,隐藏域是标准的html 控件,不需要复杂的编程逻辑。

隐藏域在页上存储和读取,不需要任何服务器资源,几乎所有浏览器和客户端设备都支持具有隐藏域的窗体。

缺点是存储结构少,仅仅支持简单的数据结构,存储量少,因为它被存储在页面本身,所以无法存储较大的值,而且大的数据量会受到防火墙和代理的阻止。

1.3 viewstate
viewstate 是由 页面框架管理的一个隐藏的窗体字段。

当 执行某个页面时,该页面上的viewstate 值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性。

使用viewstate 传递数据时可用:viewstate [ 变量名]=数值,在取出数据时用:变量=viewstate[变量名]。

使用viewstate 的优点是:在对同一页的多个请求间自动保留值,不用服务器端资源,实现简单,视图状态中的值经过哈希计算和压缩,并且针对unicode 实现进行编码,其安全性要高于使用隐藏域;缺点是因为viewstate 存储在页面本身,因此如果
存储较大的值,用户显示页和发送页时的速度可能会减慢。

虽然视图状态以哈希格式存储数据,但它仍可以被篡改。

1.4 使用cookie
cookie 可以在页面之间传递少量信息,可以存储在客户端的文本文件中,也可存储在客户端的内存中。

cookie 方法适用于存储少量页面中经常改动的信息,如为登陆过的网站保存登陆用户名,为用户输入提供方便,还有在一些用户自定义项目上保存用户的个性化设置。

使用cookie传递数据时可用:response.cookies[键名]=键值;取出数据用:变量名=request.cookies[键名]。

使用cookie 优点是:cookie 存储在客户端,不使用服务器资源,实现简单,可配置到期时间。

缺点是:可以存储的数据量比较少,由于cookie 并不被所有的浏览器支持,而且还可能被用户禁止或删除,所以不能用于保存关键数据。

另外,cookie 保存的形式是简单的明文文本,在它里面不宜保存敏感的、未加密的
数据。

1.5 使用application 变量
使用application 变量也可以实现页面间的传值,application变量是全局性的,所有用户共享一个application 变量,一旦定义,它将影响到程序的所有部分。

如果想在整个应用程序范围使用某个变量值application 对象将是最佳的选择。

存入数据时,把值添加到application 变量里:application[变量名]=数值;取出数据用:变量=application[变量名];在不需要使用该application 时,要显式清除它:application[量名]=null。

application 优点:易于使用,全局范围。

可供应用程序中的所有页来访问。

缺点:若保存数据的服务器端进程被损坏(如因服务器崩溃、升级或关闭而损坏),那么数据就会丢失,所以利用application 一定要有保底的策略;占用服务器端的内存,这可能会影响服务器的性能以及应用程序的可伸缩性。

1.6 使用session 变量
session 对象可以用来存储需要维护的指定对话的信息,不同的客户端生成不同的session 对象。

session 用于存储特定于单独会话的短期信息。

session 的使用方法和格式与application 相同。

优点:易于实现,并且提供较高的安全性和持久性,可以应对iis 重启和辅助进程重启,可在多进程中使用。

缺点是耗用服务器端的内存。

所以不要存储大量的信息。

session 最常见的用途是与cookie 一起向web 应用程序提供用户标识功能,session也可用于不支持cookie 的浏览器。

但是,使用无cookie 的session 需要将会话标识符放置在查询字符串中,同样会遇到本文在查询字符串一节中陈述的安全问题。

1.7 使用类的静态属性
这种方法是利用类的静态属性实现两个页面间的值传。

定义一个包含静态属性的类;将要传送的值赋给静态属性;目标页面中可以通过静态属性获得源页面中要传的值。

优点是可以方便传送多个数据,缺点是需要额外编程,增加
程序设计的工作量,占用服务器内存。

1.8 使用server.transfer
通过server.transfer 方法把执行流程从当前的aspx 文件转到同一服务器上的另一个aspx 页面的同时,可保留表单数据或查询字符串,做法是把该方法的第二个参数设置成true,在第一个页面用server.transfer(目标页面名.aspx,true);目标页面取出数据用:ruquest.form[控件名称]或ruquest.querystring[控件名称]。

2.0 中还可以这样来用,代码如下:previouspage pg1;
pg1=(previouspage)context.handler;
response.write();
说明:此段代码用在目标页面中取出传递的值,previous- page 是原页面的类名,name 是在原页面定义的属性,需要传递的数据存入到此属性中。

使用这种方法,需要写一些代码以创建一些属性以便可以在另一个页面访问它,可以在另一个页面以对象属性的方式来存取数值,这个方法在页面间值传递中是特别有用的,这种方法不但简洁,同时又是面向对象的。

1.9 cache
cache 具有强大的数据操作功能,以键值对集合的形式存储数据,可以通过指定关键字来插入和检索数据项。

它的基于依赖性的终止功能,使它能够精确控制如何并及时更新和消除缓存中的数据。

它可以内部进行锁定管理,不需要象application 对象那样使用lock()和unlock()方法进行串行化管理。

缺点是使用方法较复杂,使用不当反而降低性能.
2、不同页面跳转情况下可采用的传值方法
2.1 情况一:源页面可以跳转到目标页面,源页面传递数据给目标页面
使用查询字符串,将少量信息从一页传输到另一页以及不存在安全性问题时,是一个简单常用的方法;使用server.transfer方法,可传递表单数据或查询字符串到另一个页面,还可以保存初始页的httpcontext,当目标页和源页面在同一个服务器时,可以用此方法。

2.2 情况二:页面传递数值给自身页面
即在对同一页的多个请求间保留值,viewstate 属性可提供具有基本安全性的功能。

也可用隐藏域,存储少量回发到自身或另一页的页信息时使用,不考虑安全性问题时使用。

2.3 情况三:源页面传递数值给目标页面,而源页面不能直接连接到目标页面。

有多个方法,具体用哪个要看具体情况。

application:存储由多个用户使用且更改不频繁的全局信息,此时安全性不成为问题。

不要存储大量的信息。

session:存储特定于单独会话的短期信息,并且需要较高的安全性。

不要在会话状态中存储大量的信息。

需要注意,将为应用程序中每一会话的生存期创建并维护会话状态对象。

在支持许多用户的应用程序中,这可能会占用大量服务器资源并影响可缩放性。

cookie:当您需要在客户端存储少量信息以及不存在安全性问题时使用。

类的静态属性,方便传送多个数据。

cache :对象用于单个用户、一组用户或所有的用户。

可以为多个请求长时间、高效率的保存数据。

上述几个方法,不仅用于情况三,前面两种情况都可以使用,只是没有必要时尽量少用,否则会造成资源浪费或增加程序的复杂性。

更多信息请查看IT技术专栏。

相关文档
最新文档