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的参数传递和获取设计交互式网页离不开接收用户的输入信息,也即参数传递和获取。
网络技术-数据库-HTTP开发-传参-300

Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。
在用 设计开发一个Web系统时,遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送, 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨。
NET 下的解决此问题的各种方法和各自的适用场合。
页面间数据传递的各种方法和分析1.使用Querystring 方法QueryString 也叫查询字符串,这种方法将要传递的数据附加在网页地址(URL)后面进行传递。
如页面A.aspx 跳转到页面B.aspx,可以用Response.Redirect("B.aspx?参数名称=参数值")方法,也可以用超链接,页面跳转后,在目标页面中可用Ruquest. Querystring ["参数名称"]来接收参数。
使用QuerySting 方法的优点是实现简单,不使用服务器资源;缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险,不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。
下面通过一个例子来完成传值工作,步骤为:1.在新建的窗体中放置一个button1,两个TextBox1,TextBox2代码如下:private void Button1_Click(object sender, System.EventArgs e){string url;}2、新建一个目标页面命名为Welcome.aspx,放置两个Label1,Label2,在该窗体的Page_Load中添加如下代码:private void Page_Load(object sender, System.EventArgs e){Label1.Text=Request.QueryString["name"];Label2.Text=Request.QueryString["email"];}运行,即可看到传递后的结果了。
aspx页面传值--7种方式

aspx页⾯传值--7种⽅式1、get⽅式发送页<form id="form1" runat="server"><div><a href="WebForm2.aspx?name=5">调转到Form2</a><asp:Button ID="button2" Text="跳转页⾯" runat="server" onclick="button2_Click"/></div></form>protected void button2_Click(object sender, EventArgs e){Response.Redirect("WebForm2.aspx?name=5");}接受页 bel1.Text = Request["name"];//bel2.Text = Request.Params["name"];//bel3.Text = Request.QueryString[0];2、post⽅式a\不带 runat="server"形式发送页<form id="form2" action="WebForm2.aspx" method="post"><input name="txtname" type="text" value="lilili" /><input type="submit" value="提交⽹页" /></form>接受页 bel1.Text =Request.Form["txtname"];b\带 runat="server"发送页<form runat="server" id="form3"><input id="btnTransfer" type="button" onclick="post();" runat="server" value="跳转" /></form><form id="form4" method="post"><input type="text" runat="server" id="txtname" value="lili" /></form><script type="text/javascript">function post() {form4.action = "WebForm2.aspx";form4.submit();}</script>接受页 bel1.Text =Request.Form["txtname"];3、Session 和 ApplicationSession["name2"] = "sessontest";Application["name3"] = "applicationtest";bel2.Text =(string)Session["name2"];bel3.Text =(string)Application["name3"];4、静态变量发送页public static string statest="static string";protected void button2_Click(object sender, EventArgs e){Server.Transfer("WebForm2.aspx");}接受页 bel1.Text = WebForm1.statest;5、Context.Handler 获取控件发送页 <asp:TextBox ID="TextBox1" runat="server" Text="lilili"></asp:TextBox><asp:Button ID="button2" Text="跳转页⾯" runat="server" onclick="button2_Click"/> protected void button2_Click(object sender, EventArgs e){Server.Transfer("WebForm2.aspx");}接受页 //获取post传过来的对象if (Context.Handler is WebForm1){WebForm1 poster = (WebForm1)Context.Handler;bel1.Text = ((TextBox)poster.FindControl("TextBox1")).Text;}6、Context.Handler 获取公共变量发送页 public string testpost = "testpost";protected void button2_Click(object sender, EventArgs e){Server.Transfer("WebForm2.aspx");}接受页 //获取post传过来的对象if (Context.Handler is WebForm1){WebForm1 poster = (WebForm1)Context.Handler;bel2.Text = poster.testpost;}7、Context.Items 变量发送页protected void button2_Click(object sender, EventArgs e) {Context.Items["name"] = "contextItems";Server.Transfer("WebForm2.aspx");}接受页 //获取post传过来的对象if (Context.Handler is WebForm1){bel3.Text = Context.Items["name"].ToString(); }。
asp页面间传递值方法汇总

ASP页面间传递值的方法汇总1. 使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。
如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。
但是对于传递数组或对象的话,就不能用这个方法了。
下面是一个例子:a.aspx的C#代码private void Button1_Click(object sender, System.EventArgs e){string s_url;s_url = "b.aspx?name=" + Label1.Text;Response.Redirect(s_url);}b.aspx中C#代码private void Page_Load(object sender, EventArgs e){Label2.Text = Request.QueryString["name"];}2. 使用Application 对象变量Application对象的作用范围是整个全局,也就是说对所有用户都有效。
其常用的方法用Lock和UnLock。
a.aspx的C#代码private void Button1_Click(object sender, System.EventArgs e){Application["name"] = Label1.Text;Server.Transfer("b.aspx");}b.aspx中C#代码private void Page_Load(object sender, EventArgs e){string name;Application.Lock();name = Application["name"].ToString();Application.UnLock();}3. 使用Session变量想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
ASP实验报告

1、实验项目名称: 创建一个网站2、实验项目名称: 字体程序3、实验项目名称: 验证控件和FileUpload控件MaxValue:最大值MiniValue:最小值Type:数据类型3、compaerVatidater除了ControlToValidate、ErrorMessage外还有ControlToCompare和Type4、RegularExpressionValidator除了ControlToValidate、ErrorMessage外还有ValidationExpression (二)文件上传控件4、实验项目名称:网站导航与页面之间的传值5、实验项目名称:利用CSS和DIV完成一个美观网页设计一、实验目的学会使用CSS+DIV完成一个网页布局二、实验环境VS2010三、实验方法和实验步骤1、画出框架图2、创建DIV层共6个:<div class="alldiv"><div id="top" class="alldiv">标题Logo栏</div><div id="navigation" class="alldiv">导航栏</div><div id="left" class="alldiv">左边</div><div id="middle" class="alldiv">中间</div><div id="right" class="alldiv">右边</div><div id="bottom" class="alldiv">页脚</div></div>3、CSS控制DIV进行布局.alldiv{width:760px;text-align: center; border: #00ff00 1px solid; }#top6、实验项目名称:利用主题和母版页设计一个美观网页7、实验项目名称:使用SqlConnection完成对数据库的连接8、实验项目名称: 利用完成对数据库额增删改查9、实验项目名称: 完成DropDownList、GridView、DataList 和FormView数据的绑定10、实验项目名称:AJAX技术的使用11、实验项目名称:Jquery:按钮倒数10秒之后才可点击,用于用户注册12、实验项目名称: Web服务:创建立方和和天气的Web服务13、实验项目名称: XML:个人通讯薄的设计与实现二、实验环境VS2010三、实验方法和实验步骤1、xml:文件2、 DTD文件14、实验项目名称:完成网上书店的大框架设计一、实验目的掌握的网站设计流程和模块功能的实现二、实验环境VS2010二、实验方法和实验步骤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)所谓分布式类就是在多个文件中使用相同的____,相同的____,而且每个类的定义前面都加上____修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。
第05章[跳转控件和页面间传值]理论课
![第05章[跳转控件和页面间传值]理论课](https://img.taocdn.com/s3/m/3f5360d480eb6294dd886c4d.png)
HotSpotMode:热点模式,其选项及说明如下:
• • •
ImageMap
HotSpots:HotSpot类是一个抽象类,它之下有三个子类。
• • • CircleHotSpot : 圆形热点有三个参数,一个是半径Radius,另外两个是圆心的坐标X,Y。 RectangleHotSpot :矩形,也可以是正方型,有上下左右四个参数。 PolygonHotSpot :不规则形状:若要定义多边区域,将 Coordinates 属性设置为指定多边形对象 每个顶点的坐标的字符串。多边形顶点是两条多边形边的交点。
调用 网页的方式
演示示例: 对比
页面跳转方式的语法对比
一触即发
偷梁换柱 再接再厉
超链接跳转HyperLink.NavigateUrl
服务器转换Server.Transfer 服务器执行Server.Execute
反复无常
节外生枝 大象无形
响应重定向Response.Redirect 客户端跳转window.open
if(Page.IsPostBack!=null)
页面提交
<asp:CheckBox AutoPostBack="True" />
页面跳转方式的介绍
一触即发
偷梁换柱 再接再厉
超链接跳转
服务器转换 服务器执行
反复无常
节外生枝 大象无形
响应重定向 打开新窗口
跨页面传送
6-1 超链接跳转
一触即发:超链接跳转
通过类型获取源页面引用
Target.aspx.cs获取源页面属性
if (Page.PreviousPage != null) { Label1.Text = PreviousPage.FavoriteActivity.SelectedItem.Text; }
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"];这样可以得到参数值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
页面之间传递值的几种方式页面传值是学习初期都会面临的一个问题,总的来说有页面传值、存储对象传值、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类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
优点:1.使用简单,不仅能传递简单数据类型,还能传递对象。
2.数据量大小是不限制的。
缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源。
2.容易丢失。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(Or Object)";2.在目的页面的代码使用Session变量取出传递的值。
Result = Session["Nmae"]注意:session不用时可以销毁它,销毁的方法是:清除一个:Session.Remove("session名");清除所有:Session.Clear();例子:(1)a.aspxprivate void Button1_Click(object sender, System.EventArgs e){Session["name"] = Label.Text;}(2)b.aspxprivate void Page_Load(object sender, EventArgs e){string name;name = Session["name"].ToString();}三、Cookie这个也是大家常使用的方法,Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息。
所以Cookie也可以在页面间传递值。
Cookie通过HTTP头在浏览器和服务器之间来回传递的。
Cookie只能包含字符串的值,如果想在Cookie存储整数值,那么需要先转换为字符串的形式。
与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。
而且Cookie的使用要配合内置对象Request来使用。
优点:1.使用简单,是保持用户状态的一种非常常用的方法。
比如在购物网站中用户跨多个页面表单时可以用它来保持用户状态。
缺点:1.常常被人认为用来收集用户隐私而遭到批评。
2.安全性不高,容易伪造。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Cookie对象:HttpCookie objCookie = new HttpCookie("myCookie","Hello,Cookie!"); Response.Cookies.Add(cookie);2.在目的页面的代码使用Cookie对象取出传递的值:Result =Request.Cookies[ "myCookie" ].Value;例子:(1)a.aspxprivate void Button1_Click(object sender, System.EventArgs e){HttpCookie objCookie = new HttpCookie("myCookie","Hello,Cookie!");Response.Cookies.Add(objCookie);}(2)b.aspxstring myName1Value;myName1Value = Request.Cookies[ "myCookie" ].Value;四、ApplicationApplication对象的作用范围是整个全局,也就是说对所有用户都有效。
它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取。
它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量。
可能有人会问,既然所有用户都可以使用application变量,那他可以用在什么场合呢?这里举个例子:网站访问数。
多个请求访问时都可以对它进行操作。
优点:1.使用简单,消耗较少的服务器资源。
2.不仅能传递简单数据,还能传递对象。
3.数据量大小是不限制的。
缺点:1.作为全局变量容易被误操作。
所以单个用户使用的变量一般不能用application。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Application变量:Application["Nmae"]="Value(Or Object)";2.在目的页面的代码使用Application变量取出传递的值。
Result =Application["Nmae"]注意:常用lock和unlock方法用来锁定和解锁,为了防止并发修改。
例子:(1)a.aspxprivate void Button1_Click(object sender, System.EventArgs e){Application["name"] = Label1.Text;}(2)b.aspxprivate void Page_Load(object sender, EventArgs e){string name;Application.Lock();name = Application["name"].ToString();Application.UnLock();}五、Server.Transfer这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通过Context.Handler来获得前一个页面传递的各种数据类型的值、表单数据、QueryString.由于重定向完全在服务器端完成,所以客户端浏览器中的URL地址是不会改变的。
调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
ps:比较Server.Transfer和Response.Redirect的区别。
(1)Server.Transfer在服务器端完成,所以客户端浏览器中的URL地址是不会改变的;Response.Redirect是客户端完成,向服务器端提出新的页面处理请求,所以客户端浏览器中的URL地址是会改变的。
(2)Server.Transfer在服务器端完成,不需要客户端提出请求,减少了客户端对服务器端提出请求。
[2](3)Server.Transfer只能够转跳到本地虚拟目录指定的页面,也就是工程项目中的页面,而Response.Redirect则十分灵活,可以跳转到任何URL地址。
(4)Server.Transfer可以将前一个页面的各种类型的值传到新的页面;Response.Redirect则只能借助URL中带参数或是结合上面四种办法把各种类型的值传到新的页面。
优点:1.直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求。
2.可以传递各种数据类型的值和控件的值。
缺点:1.客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。
比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的图片、超链接都会导致错误的指向。
使用方法:1.在源页面的代码中,使用Page类的Server.Transfer跳到另一个页面传递页面数据:Server.Transfer("b.aspx","false")。
2.在目的页面中,使用Context.Handler来接收数据:FormerPage formerPage = (FormerPage)Context.Handler; 然后用formerPage的属性和方法来获取前一个页面的值,或者直接用Context.Items["myParameter "]例子:(1)a.aspxpublic string Name{get{ return Label1.Text;}}private void Button1_Click(object sender, System.EventArgs e){Server.Transfer("b.aspx");}(2)b.aspxprivate void Page_Load(object sender, EventArgs e){a newWeb; //实例a窗体newWeb = (source)Context.Handler;string name;name = ;}以上就是常用的几种页面间传值的方法,我一般使用session和querystring来传值,少数情况会使用到cookie。