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"];这样可以得到参数值。

第四种方法:通过Applicationsend.aspx:protected void Button1_Click(object sender, EventArgs e){Application["username"] = "honge";Request.Redirect("Default2.aspx");}receive.aspx:string username = Application["username"];这样可以得到参数值。

第五种方法:通过Server.Transfersend.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();这样可以得到参数值。

}如果在 2.0中还可以这样用:通过PreviousPagePreviousPage d = Context.Handler as PreviousPage ;if (d != null){Response.Write();这样可以得到参数值。

}也可以这样用:send.aspx:<asp:Button ID="btnSubmit" runat="server" PostBackUrl="~/reveive.aspx" Text="Submit" />receive.aspx:<%@ PreviousPageType VirtualPath="~/Default.aspx" %>string name = ;这样可以得到参数值。

如果你的页面中用到了MasterPage的话Server.Transfer 传递的PreviousPage就无效了,不知道这是什么原因.所以在用到MasterPage的话,最好用Session或是Context.Items["username"]来实现.使用QueryString使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。

使用这种方法的步骤如下: 1,使用控件创建web表单(form)2,创建可以返回表单的按钮和链接按钮3,在按钮或链接按钮的单击事件里创建一个保存URL的字符变量4,在保存的URL里添加QueryString参数5,使用Response.Redirect重定向到上面保存的URL下面的代码片断演示了如何实现这个方法:源页面代码: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时应该慎重,当然了,我们也应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗。

使用Session变量传递值的一般步骤如下:1,在页面里添加必要的控件2,创建可以返回表单的按钮和链接按钮3,在按钮或链接按钮的单击事件里,把控件的值添加到session变量里4,使用Response.Redirect方法重定向到另一个页面5,在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它下面的代码片断演示了如何实现这个方法:源页面代码:private void Button1_Click(object sender, System.EventArgs e){file://textbox1 and textbox2 are webformfile://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方法转移到指定的页面5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了以下代码综合实现上述步骤过程的代码:源页面代码:把以下的代码添加到页面中public string Name{get{return TextBox1.Text;}}public string EMail{get{return TextBox2.Text;}}然后调用Server.Transfer方法private void Button1_Click(object sender, System.EventArgs e){Server.Transfer("anotherwebform.aspx");}目标页面代码:private void Page_Load(object sender, System.EventArgs e){file://create instance of source web formWebForm1 wf1;file://get reference to current handler instancewf1=(WebForm1)Context.Handler;Label1.Text=;Label2.Text=wf1.EMail;}总结本文讲述了使用不同的方法实现了页面间值传递,这三种方法是:QueryString,Session和Server.Transfer,我们应该反覆体会几种方法的异同。

合集下载

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 判断页面而是否第一次载入可通过属性__________ 实现。

页面传递参数的方法

页面传递参数的方法

页面传递参数的方法页面传递参数的方法在我们日常的开发中是非常常见的。

当用户在页面上提交表单、点击链接或者执行其他操作时,我们需要将相关的参数传递给服务器端进行处理。

下面将介绍几种常见的页面传递参数的方法。

1. GET方法:GET方法是最常见也是最简单的一种传递参数的方式。

它通过URL的查询字符串来传递参数。

查询字符串是指URL中问号(?)后面的部分,参数名和参数值用等号(=)连接,多个参数之间使用&符号分隔。

例如,GET方法的特点是参数会显示在URL中,因此可以直接通过修改URL的方式修改参数。

此外,GET方法对传递的参数有长度限制(通常为2048字节),对于较大的参数不适用。

2. POST方法:POST方法通过HTTP请求的消息体来传递参数。

参数不会显示在URL中,因此相对于GET方法更加安全。

POST方法没有参数长度限制。

在使用POST方法传递参数时,通常需要借助表单来提交数据。

我们可以在HTML表单中定义多个input元素,通过设置其name属性来指定参数名称,用户在提交表单后,参数将会被封装到请求的消息体中。

3. 请求头:除了通过URL和消息体传递参数,我们还可以通过设置请求头来传递参数。

请求头是指HTTP请求中的一些元数据,比如Content-Type、User-Agent等。

我们可以通过自定义请求头来传递参数。

但需要注意的是,自定义请求头的使用涉及到HTTP协议规范,需要在服务端和客户端都进行相应的配置和解析。

4. Cookie:Cookie是一种在浏览器端保存数据的机制,可以用来传递参数。

在服务器端设置Cookie时,会将Cookie发送给浏览器,并存储在浏览器中。

在下一次请求同一个网站时,浏览器会自动将Cookie发送给服务器。

通过设置Cookie,我们可以在多个页面间传递参数。

但需要注意的是,Cookie 有大小限制(通常为4KB),如果需要传递较大的参数,可能会出现截断的情况。

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

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

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

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

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

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

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

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

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

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

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

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

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

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. URL 参数URL 参数是最基本的一种传递参数的方法。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机专业课程《Web程序设计》试卷及答案(2)

计算机专业课程《Web程序设计》试卷及答案一、单选题21、如果要在网页上添加一个计算器来统计人数的话,我们可以选用()对象对计数变量Count的加法操作来实现。

A、SessionB、ApplicationC、ServerD、Page22、下面哪一个对象用于与数据源建立连接:()。

A、CommandB、ConnectionC、DataReaderD、DataAdapter23、Global.asax文件中Session_Start事件何时激发()。

A、在每个请求开始时激发B、尝试对使用进行身份验证时激发C、启动会话时激发D、在应用程序启动时激发24、在应用程序中访问SqlServer数据库时,需要导入的命名空间为()。

A、System.Data.OracleB、System.Data.SqlClientC、System.Data. ODBCD、System.Data.OleDB25、框架中,服务器控件是为配合Web表单工作而专门设计的。

服务器控件有两种类型,它们是()。

A、HTML控件和Web控件B、HTML控件和XML控件C、XML控件和Web控件D、HTML控件和IIS控件26、下列关于构造函数的描述正确的是()。

A、构造函数可以声明返回类型。

B、构造函数不可以用private修饰C、构造函数必须与类名相同D、构造函数不能带参数27、Session对象的默认有效期为多少分钟:()。

A、10B、15C、20D、应用程序从启动到结束28、当需要用控件来输入性别(男,女)或婚姻状况(已婚,未婚)时,为了简化输入,应该选用的控件是()。

A、RadioButtonB、CheckBoxListC、CheckBoxD、RadioButtonList29、Global.asax文件中Session_Start事件何时激发()。

A、在每个请求开始时激发B、尝试对使用进行身份验证时激发C、启动会话时激发D、在应用程序启动时激发30、下列选项中,只有()是错误的。

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#中索引器的实现过程,是否只能根据数字进行索引?答:可以用任意类型。

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