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

合集下载

ASP传递参数方法汇总

ASP传递参数方法汇总

asp传参数的方法dadaV2016.02.15asp传参数的方法常用的有三种:1、用户端用http方式传参数到服务器(FORM表单方式)用表单的action属性,将参数传递到接收的文件中。

<form action="test.asp" method="get">//test.asp 为接收参数的页面,method为传送方式,分post方式和get方式。

2、用链接传递参数 <a href='test.asp?name=bansi&sex=man'> 会员</a>href后面的属性首先跟的是一个提交到后台处理的asp文件,"?"后面跟的是参数,参数值是在"="后面。

当多个参数时,使用"&"将参数隔开。

这里就有两个参数name与sex,参数值分别为bansi与man。

比如 <a href="test.asp?action=check<%=rs("字段名")%>">使用mid(request("action"),1,5)获取 check使用mid(request(action),5) 获取<%=rs("字段名")%>3、使用<input>标签方式设置为隐藏方式传递一个参数<input type="hidden" name="id" value="<%=request.querystring("id")%>">下一页面使用 request.form("id")获取id参数asp的参数传递和获取设计交互式网页离不开接收用户的输入信息,也即参数传递和获取。

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页面传值

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)复习题

网页制作(ASP)复习题

期末复习题一、填空题1 .NET Framework主要包括__________ 和__________。

答案:公共语言运行库CLR ,类库(2)网站在编译时,首先将语言代码编译成__________。

答案:微软中间语言MSIL3 一台IIS Web服务器IP地址为210.78.60.19,网站端口号为8000,则要访问虚拟目录xxxy中default.aspx的URL为___________________________________________。

答案:http://210.78.60.1 9:8000/xxxy/default.aspx3 利用XHTML建立一个链接到jxgz@邮箱的元素是__________答案:<a href="mailto:jxgz@>…</a>4 存放Web窗体页C#代码的模型有__________ 和__________。

答案:单文件页模型,代码隐藏页模型5 单文件页模型中,C#代码必须包含于__________ 之间。

答案:<script>...</script>6 外部样式表通过__________ 元素链接到网页。

答案:<link>7 C#使用的类库就是__________提供的类库。

答案:.NET Framework8 要在一个类中包含System.Data命名空间的语句是__________。

答案:using System.Data9 至少会执行一次循环的循环语句是__________。

答案:do-while语句10 较适用于一已知循环次数的循环语句是__________。

答案:for语句11 在TextBox控件中输入内容并当焦点离开TextBox控件时能触发TextChanged 事件,应设置属性__________ 。

答案:AutoPostBack="True"12 判断页面而是否第一次载入可通过属性__________ 实现。

基于结构的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%<’ 里 ! 该问题解 决起 来反而显得比较复杂 $

ASPNET页面之间的数据传递与保持

ASPNET页面之间的数据传递与保持

ASPNET页面之间的数据传递与保持摘要:网站的基本功能是实现与用户的交互,页面之间的数据传输和维护就变得极为重要,其执行效率直接的影响程序的性能。

无论是值传递和保存数据,都有其适用条件和范围。

在实践中,程序员需要根据实际情况,对各种方法的优缺点进行对比,做出最好的选择。

关键词:web;Cookie;数据交互;保留数据中图分类号:TP391 文献标识码:A一个网站的基本功能是实现页面之间与用户的交互,他的一个重要途径是数据的传输和维护,前提必须是一个Web 的程序,执行效率和程序的性质相互影响。

程序为实现数据的传输和持续提供了各种互有优势的方法。

对于各种方法做出如下详细的介绍。

一、页面间的数据传输在用户访问网站时,页面跳转之间总是很迅速并且多次的。

用户点击一个链接(通常这个链接显示在其他网站的页面上),也可以双击某个标志点进行信息的交互,就可以展开想要读取的内容,实现自动重定向页在特定的状态下方可以启动。

无论在什么情况下,允许用户改变页面导航都不能浪费用户的状态,即在该网站的用户,其状态必须是连续的,有一些数据需要两个页面间的相互读取和交换,可以互相请求获取对方的原页面。

1 取得地址栏参数值传输方法的值是取得地址栏参数值最简单、最常用的方法,可以实现超文本传输协议查询字符串参数的Uniform Resource Locator后面的值:第一个参数名表现方式为参数的系数和第二个参数名称的乘积,等于参数系数和第三参数名称的乘积,以此类推可以做到参数域名之间的转换。

模式转换和网页的网址导航链接:对水平基准属性和控件链接进行了同等的标记,导航的URL对相互链接的参数名称进行关联;控制按钮可以通过连接参数返回URL属性集的目标页;运用数据传输方法的形式实现对目标URL指定的值,作为控制参数后连接URL中的参数设置,运用这个参数值的对参数名称进行值的控制;重定向的方法响应对象的可调整参数的URL是客户端浏览器指定的URL;该方法传递一个会话对象可以设置URL将客户端重定向到新的一页,其执行结束的当前页,保存当前页的页面的对象(表单数据)数据链和查询字符串和当前的需求并开始获取目标页的URL指定的页面,并对已加载数据源仍然保存。

2011年.NET笔试题集合(标准答案)

2011年.NET笔试题集合(标准答案)

attribute翻译成特性,用来标识类,方法。

property翻译为属性,性质用于存取类的字段。

markup翻译成标记。

tag翻译成标签。

[.NET(C#)]程序集的一个重要特性是它们包含的元数据描述了对应代码中定义的类型和方法。

[.NET(C#)]ASP页面有时显示比较慢,因为服务器端代码是解释性的不是编译的。

页面是结构化的。

每个页面都是一个继承了.NET类System.Web.UI.Page的类。

[.NET(C#)]重写override:是指子类重新定义父类的虚函数的做法。

重载overload:是指允许存在多个同名函数,而函数签名不同(参数表不同:或许参数个数不同,或许参数类型不同,或许两者都不同)。

重载的概念并不属于“面向对象编程”。

[.NET(C#)]ref 关键字使参数按引用传递。

其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。

out 关键字会导致参数通过引用来传递。

这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。

若要使用 out 参数,方法定义和调用方法都必须显式使用out 关键字。

[.NET(C#)]ADO和的区别:ADO使用OLE DB接口并基于微软的COM技术;而拥有自己的接口并且基于微软的.NET体系架构。

ADO以Recordset存储,而则以DataSet表示。

Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。

反之,DataSet可以是多个表的集合。

ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。

则使用离线方式,在访问数据的时候会利用XML制作数据的一份幅本的数据库连接也只有在这段时间需要在线。

[.NET(C#)]new 关键字用法:1)new 运算符:用于创建对象和调用构造函数。

C#考试题——精选推荐

C#考试题——精选推荐

选择题1、数据适配器(DataAdapter)对象属于.Net数据提供程序,该对象的()方法用于将DataSet 中数据提交到数据库。

(选择一项)a) closeb) Fillc) Updated) Select2、在中,DataSet对象相当于一个临时的()。

(选择一项)a) 数据表b) 存储过程c) 数据库d) 数据适配器3、 DataSet是中用于存储从数据库检索到的数据的对象,下列关于DataSet 的说法错误的是()(选择一项)a) 在DataSet中可以包含多个DataTableb) DataSet可以简单地理解为一个临时数据库c) 在与数据库断开连接后,DataSet中的数据会消失d) DataSet实际是从数据源中检索到的数据在内存中的缓存4、在中,下列代码运行后的输出结果是()(选择一项)DataTable dt=new DataTable();Dt.Columns.Add(“编号”,typeof(System.Int16));Dt.Columns.Add(“成绩”,typeof(System.Int16));for(int i=1;i<=3;i++){DataRow dr=dt.NewRow();Dr[0]=i;Dr.Rows.Add(dr);}Console.WriteLine(dt.Rows.Count);a) 1b) 2c) 3d) 45、数据适配器(DataAdapter)对象属于.NET数据提供程序,该对象的()方法用于向DataSet中填充数据。

(选择一项)a) Closeb) Fillc)Updated)SelectDataGridView1中显示表carsinfo中数据的代码片段,其中DBHelper.Connection为数据库连接对象。

代码中存在错误的是第()行。

a) 1b) 2c) 3d) 4e)没有错误选择题1、中的Command对象允许向数据库传递请求,以便检索和操作数据库中的对象,下列()方法不是Command对象的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面的代码片断演示了如何实现这个方法: 源页面代码:
private void Button1_Click (object sender, System.EventArgs e) {
file://textbox1 and textbox2 are webform file://controls Session["name"]=TextBox1.Text; Session["email"]=TextBox2.Text; Server.Transfer("anotherwebform.aspx"); } 目标页面代码: private void Page_Load (object sender, System.EventArgs e) { Label1.Text=Session["name"].ToString(); Label2.Text=Session["email"].ToString(); Session.Remove("name"); Session.Remove("email"); } 使用 Server.Transfer 这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该 方法你可以在另一个 页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以 创建一些属性以便可 以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种 方法是简洁的同时又 是面向对象的。 使用这种方法的整个过程如下: 1,在页面里添加必要的控件 2,创建返回值的 Get 属性过程 3,创建可以返回表单的按钮和链接按钮 4,在按钮单击事件处理程序中调用 Server.Transfer 方法转移到指定的页面
页面之间传递参数的几种方法 第一种方法:通过 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
5,在第二个页面中,我们就可以使用 Context.Handler 属性来获得前一个页面实例对 象的引用,通过它,就可以使用存取前一个页面的控件的值了
以下代码综合实现上述步骤过程的代码: 源页面代码:
把以下的代码添加到页面中 public string Name { get { return TextBox1.Text; } }
<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>
源页面代码: private void Button1_Click(object sender, System.EventArgs e) {
string url; url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text; Response.Redirect(url); } 目标页面代码: private void Page_Load (object sender, System.EventArgs e) { Label1.Text=Request.QueryString["name"]; Label2.Text=Request.QueryString["email"]; } 使用 Session 变量 使用 Session 变量是可以在页面间传递值的的另一种方式,在本例中我们把控件中的 值存在 Session 变量中, 然后在另一个页面中使用它,以不同页面间实现值传递的目的。但是,需要注意的是在 Session 变量存储过多的 数据会消耗比较多的服务器资源,在使用 session 时应该慎重,当然了,我们也应该使用 一些清理动作来去除一
receive.aspx: string username = Application["username"]; 这样可以得到参数值。 第五种方法:通过 Server.Transfer send.aspx:
public string Name {
get {
return "honge"; } } protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("Default2.aspx"); } receive.aspx: send d = Context.Handler as send ; if (d != null) { Response.Write();这样可以得到参数值。 }
些不需要的 session 来降低资源的无谓消耗。 使用 Session 变量传递值的一般步骤如下:
1,在页面里添加必要的控件 2,创建可以返回表单的按钮和链接按钮 3,在按钮或链接按钮的单击事件里,把控件的值添加到 session 变量里 4,使用 Response.Redirect 方法重定向到另一个页面 5,在另一个页面提取 session 的值,在确定不需要使用该 session 时,要显式清除它
目标页面代码: private void Page_Load (o { file://create instance of source web form WebForm1 wf1; file://get reference to current handler instance wf1=(WebForm1)Context.Handler; Label1.Text=; Label2.Text=wf1.EMail; }
总结
本文讲述了使用不同的方法实现了 页面间值传递,这三种方法是: QueryString,Session 和 Server.Transfer, 我们应该反覆体会几种方法的异同。
Tag 标签: Session,QueryString,URL
实现起来非常简单,然而 它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但 是在传递的值少而安 全性要求不高的情况下,这个方法还是一个不错的方案。使用这种方法的步骤如下:
1,使用控件创建 web 表单(form) 2,创建可以返回表单的按钮和链接按钮 3,在按钮或链接按钮的单击事件里创建一个保存 URL 的字符变量 4,在保存的 URL 里添加 QueryString 参数 5,使用 Response.Redirect 重定向到上面保存的 URL 下面的代码片断演示了如何实现这个方法:
如果你的页面中用到了 MasterPage 的话 Server.Transfer 传递的 PreviousPage 就无 效了,不知道这是什么原因. 所以在用到 MasterPage 的话,最好用 Session 或是 Context.Items["username"]来实 现.
使用 QueryString 使用 QuerySting 在页面间传递值已经是一种很老的机制了,这种方法的主要优点是
public string EMail {
get {
return TextBox2.Text; } } 然后调用 Server.Transfer 方法 private void Button1_Click (object sender, System.EventArgs e) { Server.Transfer("anotherwebform.aspx"); }
Session["username"] = "honge"; Request.Redirect("Default2.aspx"); } receive.aspx: string username = Session["username"]; 这样可以得到参数值。 第四种方法:通过 Application send.aspx: protected void Button1_Click(object sender, EventArgs e) { Application["username"] = "honge"; Request.Redirect("Default2.aspx"); }
</div> </form> receive.aspxstring username = Ruquest.Form["receive"]; 第三种方法:通过 session send.aspx: protected void Button1_Click(object sender, EventArgs e) {
如果在 2.0 中还可以这样用: 通过 PreviousPage
PreviousPage d = Context.Handler as PreviousPage ; if (d != null) {
相关文档
最新文档