ASP.NET学习笔记二 系统对象与状态管理

来源:互联网 发布:tennis elbow mac 编辑:程序博客网 时间:2024/04/30 13:11

 第二课: 系统对象与状态管理

aspx页面 继承 System.Web.UI.Page类

aspx 运行机制如下:

 

Page对象:指向页面自身的方式,作用域为页面执行期
1) 每一个aspx页面对应着一个Page对象
2) .aspx与后台代码类(局部类)合并生成页面类
3) Page对象是页面类的实例

个人看法:在Page对象作用域内,是不是有点像this的用法,指代当前的页面对象;如果你也认同,那么Page可以省略了,哈哈!

Page指令:<%@page %> 每个页面只能有一个Page指令
 Language -- 代表隐藏代码文件所使用的语言(只能是.net framework 2.0 支持的语言)
 AutoEventWireup  -- 是否自动调用网页事件,如Page_Load事件,若设置为false,将不会被执行,默认为true
 CodeFile -- 对应隐藏文件的文件名
 Inherits -- 代码后置的类,局部类

 

文本框(TextBox)三种文本模式(TextMode):Singline(默认)|MultiLine(多行文本)|Password(密码)

Get方式页面间传值:
 传值页:Response.Redirect("target.aspx?name="+txtUserName.Text+"&pwd="+txtPwd.Text);
 接收页:String name = Request.QueryString["name"];
  String pwd = Request.QueryString["pwd"];
页内传值  Page.IsPostBack
 该属性值为true时,表示是服务器回传页面,为false时,表示是首次加载
 
具有页面回传功能的控件有三个
1) Button 2) LinkButton 3) ImageButton 
当然,它位有一个共同的属性就是 PostBackUrl属性,指的是回传的地址,如果设为其它url,将跳到相应页面

~/ : 网站根目录的相对路径

Page.PreviousPage   返回值为Page对象, 获取向当前页面传输数据的页面
Page.IsCrossPagePostBack  返回值为boolean ,指示跨页回发是否包含访页面

FindControl方法可用于页面查找控件
通常使用:
 if(PreviousPage!=null && PreviousPage.IsCrossPagePostBack)
 {
  TextBox tb = PreviousPage.FindControl("txtContent") as TextBox; 
 }

 

 

 

实例:页面传值,通过ASP.net的源页面PreviousPage属性和查找控件的方法来获取值。

Login.aspx页面代码:

 

页面效果:

 

DoLogin.aspx页面

 

后置页面代码 DoLogin.aspx.cs 为:

 

页面效果为: