web中cs中怎么获取登录时的用户名,不同页面间的值传递方法
2018-01-13 20:19
267 查看
四种基于页面间的传值方法:常见的有QueryString.这种方法最简单不过了,但缺点就是它把要传送的值显示在地址栏中,如果对于在安全性的信息来说这并不是一种好的解决方案。还有一个缺点就是它不能传对象。这种方法适合于传送一个简单的值及安全性不大重要的信息。例:
有两个页面:WebForm1.aspx,WebForm2.aspx。
在WebForm1.aspx.cs的某些事件中放置如下代码:
string url="WebForm2.aspx?name="+this.txtname.Text;
Response.Redirect(url);
接着关键时刻出现了:在WebForm2.aspx.cs中某些事件中放置如下代码:
lblname.Text=Request.QueryString["name"];
OK! 整个传值过程完成!
还有一种是利用Session变量来传值,这种也比较常用。利用Session比较灵活,可以
在多个页面间进行传值。当调用其remove后,Session即失效。同样用两张页面举个例:
WebForm1.aspx.cs中写入如下代码:
Session["name"]=txtname.Text;
Response.Redirect("WebForm2.aspx");
下面在WebForm1.aspx.cs中取出Session的值:
lblname.Text=Session["name"].ToString(); //因为取出来的是一个对象,所以必须转换类型
Session.Remove("name");? //使Session失效。 第三种方式是利用Request对象来取值,(注:这里使用的是html控件)这种比较简洁。实现如下:在WebForm1.aspx中:Name:?在WebForm2.aspx.cs中某个事件写入:Response.Write(Request.Form["txtname"]);当点击submit按钮后,即通过Request.Form[”txtname”]取出了值,
第四种方法是利用Server对象的Transfer()方法来传值,它接收一个页面对象。下面用代码来讲解一下这种实现方式:在WebForm1.aspx 的某个事件中写入如下代码:Server.Transfer("WebForm2.aspx"); //传递页面对象
接着就可以在WebForm2.aspx.cs中获取WebForm1的页面对象。
if(Context.Handler is WebForm1) //判断传递过来的是否WebForm1,因为可能会有多个传递对象。
{
WebForm1 f1=(WebForm1)Context.Handler; //通过Context.Handler来创建一个WebForm1的页面对象,返 回一个object
Response.Write("Hey,I get it with Context Handler "+((TextBox)f1.FindControl("TextBox1")).Text+" ");??
}
//最后通过调用WebForm1对象的FinControl()方法来查找WebForm1中名为"TextBox1"的一个文本控件,在此也可以换成其它的控件,不管查找的是哪一种控件,都必须将其强制转换为其类型,本示例中为TextBox,最后调用其属性Text,获取在TextBox1中的值,达到传值的效果。
这种方法同样很灵活,可以传递多个页面对象,而不是传递值,因此当获取到页面对象的时候就可以获取此页面对象中的某些控件的值或其它的数据。
(注:以上几种方法,除了Request.Form()这种传值方法使用的是HTML控件外,其它几种都是使用WEB控件)
有两个页面:WebForm1.aspx,WebForm2.aspx。
在WebForm1.aspx.cs的某些事件中放置如下代码:
string url="WebForm2.aspx?name="+this.txtname.Text;
Response.Redirect(url);
接着关键时刻出现了:在WebForm2.aspx.cs中某些事件中放置如下代码:
lblname.Text=Request.QueryString["name"];
OK! 整个传值过程完成!
还有一种是利用Session变量来传值,这种也比较常用。利用Session比较灵活,可以
在多个页面间进行传值。当调用其remove后,Session即失效。同样用两张页面举个例:
WebForm1.aspx.cs中写入如下代码:
Session["name"]=txtname.Text;
Response.Redirect("WebForm2.aspx");
下面在WebForm1.aspx.cs中取出Session的值:
lblname.Text=Session["name"].ToString(); //因为取出来的是一个对象,所以必须转换类型
Session.Remove("name");? //使Session失效。 第三种方式是利用Request对象来取值,(注:这里使用的是html控件)这种比较简洁。实现如下:在WebForm1.aspx中:Name:?在WebForm2.aspx.cs中某个事件写入:Response.Write(Request.Form["txtname"]);当点击submit按钮后,即通过Request.Form[”txtname”]取出了值,
第四种方法是利用Server对象的Transfer()方法来传值,它接收一个页面对象。下面用代码来讲解一下这种实现方式:在WebForm1.aspx 的某个事件中写入如下代码:Server.Transfer("WebForm2.aspx"); //传递页面对象
接着就可以在WebForm2.aspx.cs中获取WebForm1的页面对象。
if(Context.Handler is WebForm1) //判断传递过来的是否WebForm1,因为可能会有多个传递对象。
{
WebForm1 f1=(WebForm1)Context.Handler; //通过Context.Handler来创建一个WebForm1的页面对象,返 回一个object
Response.Write("Hey,I get it with Context Handler "+((TextBox)f1.FindControl("TextBox1")).Text+" ");??
}
//最后通过调用WebForm1对象的FinControl()方法来查找WebForm1中名为"TextBox1"的一个文本控件,在此也可以换成其它的控件,不管查找的是哪一种控件,都必须将其强制转换为其类型,本示例中为TextBox,最后调用其属性Text,获取在TextBox1中的值,达到传值的效果。
这种方法同样很灵活,可以传递多个页面对象,而不是传递值,因此当获取到页面对象的时候就可以获取此页面对象中的某些控件的值或其它的数据。
(注:以上几种方法,除了Request.Form()这种传值方法使用的是HTML控件外,其它几种都是使用WEB控件)
相关文章推荐
- 登录页面在输入了正确的用户名和密码后仍跳转到登录页面而不是期望的系统首页面,debug的时候发现,登录页面调用的action类方法被调用了两次,后台无法获取前台页面传过来的参数。
- Splunk Web页面的登录密码忘记了怎么办
- 在web.config里面怎么设置FORMS验证:某几个页面可以匿名访问,其他页面都需要登录
- Java web 根据用户的角色登录到不同的页面
- 登录界面获取用户名密码,在第二个页面读出该用户名,然后显示。
- WEB页面统一认证登录方法
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- 【Android基础】获取WebView的页面标题(Title)-----WebChromeClient.onReceivedTitle()方法的重写
- 安卓webview嵌套不同的H5页面,咋让他们的登录状态同步啊 ?
- [Android] 获取WebView的页面标题(Title)-----WebChromeClient.onReceivedTitle()方法的重写
- javaWeb中前台页面怎么获取根路径并以何种方式打开链接
- SpringSecurity 登录页面无法获取CSRF令牌的解决方法
- 安卓webview嵌套不同的H5页面,咋让他们的登录状态同步啊 ?
- S2SH获取oralce的date类型,显示在web页面带时间方法
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)
- springboot 整合 MongoDB 实现登录注册,html 页面获取后台参数的方法
- jsp中表单提交方法和获取对应值,jsp登录页面
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- 在cs页面获取input的值方法
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)