ASP.net常用对象学习及运行机制

下图是ASP.NET的运行机制

从图中可以发现,在第一次请求页面的时候,是要进行壹次编译的,而编译的过程是怎么找到对应的。cs文件就需要用到Page指令

下图是Page指令中的详细解释,ASP.NET的运行机制中,Page指令是相当重要的一部分,它标记项目有助于在页面加载编译的时候找到对应的文件。

 

在Page中,可以添加

用来打开页面的跟踪,在页面跟踪中可以查看到多种的信息,如事件的加载顺序,页面打开时间等等

 

 

 

 

ASP.NET中有两种常用的提交方式GET和POST

Get的提交方式就是在页面的后面添加? 在问号的后面指明参数和参数值,如果有多个参数可以使用&进行连接

Response.Redirect("index.aspx?name="+txtName.Text);

在另一个界面的接受的时候

Request.QueryString["name"];

  就可以直接通过指明参数的方式直接获取到参数

 

 

 

 

IsPostBack属性,判断是否发生了回传,这个回传是指页面第一次加载的时候由客户端发给服务器请求,服务器根据请求返还信息。

可以使用这个属性来进行一些判断,来避免Load事件中的代码在每次发生PostBack的时候都要执行

        //注释的写法也是可以使用的,它们是在使用 IsPostBack 中运用的多种方式
        //if (Page.IsPostBack == false) 
        //if (this.IsPostBack == false)
        //if (IsPostBack == false)
        //下面的代码就是只是想在页面首次加载的时候运行的代码,
        if (!IsPostBack)
        {
            this.lstMess.Items.Add("T1");
            this.lstMess.Items.Add("T2");
        }

  

 

 

 

 

  下图中列出的Request 对象的常用属性和方法

 

        //QueryString 方法主要是获取到以Get方式提交的信息
        Request.QueryString["id"];

  

        //Form方式主要是通过表单来提交数据
        this.lblMess.Text = txtMess.Text;
        //下面的这种方法也可以在不通的页面使用来获取以Form方式提交的表单数据
        this.lblMess.Text = Request.Form["txtMess"];

  

        //ServerVariables 属性主要是获取到服务器段的相关信息
        
        //服务器端变量,这些变量参数可以在跟踪模式下查询的得到
        this.lblMess.Text=Request.ServerVariables["Http_User_Agent"];
        //客户端
        this.lblMess.Text = Request.Browser.Browser + " " + Request.Browser.Version;

  

        //MapPath 方法主要是根据给出的虚拟路径来找到服务器端的实际的物理路径

        //寻找页面所在的路径
        this.lblMess.Text = Request.MapPath("Default.aspx");
        //寻找文件夹所在的路径
        this.lblMess.Text = Request.MapPath("Upload");
        //从本页面在所目录的上一级目录寻找该文件夹所在的路径
        lblMess.Text = Request.MapPath("../Upload");
        //以上三种的寻找中,均是以页面所在目录为标记,如果页面移动位置,则会影响结果
        //从根目录开始寻找文件夹所在的路径,从根目录寻找是不依据页面所在路径的
        lblMess.Text = Request.MapPath("~/Upload");

  

 

 

下图列出的主要是Response 对象的常用的属性和方法

 

            //Redirect 方法主要是实现页面的跳转功能
            //页面的参数也是多样的,可以相对页面查找,也可以从根目录开始查找
            Response.Redirect("Default.aspx");
            Response.Redirect("admin/default.aspx");
            Response.Redirect("~/admin/default.aspx");

  

        Response.Write("Hello,ASP.NET!");
        string xmlStr = "<?xml version=\"1.0\" ?>" +
                        "<students>" +
                          "<student>Jack</student>" +
                        "</students>";
        //Write方法可以向页面中输出任意的字符串
        //我们也可以用来输出XML格式的字符串
        Response.Write(xmlStr);
        //但是因为在页面加载的时候会对页面进行编译
        //所以就会出现不显示的状况
        //这时候就需要用End方法来提前的结束页面加载的时候需要加载的事件
        //因为我们是在Load时间中结束的页面的加载,所以按照加载顺序,Load下面的所有的事件均不会被加载
        Response.End();

 

由Write方法输出的字符串会加载在HTML页面的顶端

 

 

下图列出的Server对象 的常用的属性和方法

 

        //MachineName 属性主要用于获取服务器断主机的名称
        Response.Write(Server.MachineName);

  

        //Redirect 是由客户端去请求一个页面,
        //并且可以跳转到不是本站点意外的页面
        Response.Redirect("OrderDetails.aspx?id=101");
        //Transfer 简单来说,该方法是在服务器端发生的页面跳转,
        //并且在传递参数的同时URL中不会显出包括?以后的内容
        //也就是说 同样的Get方式提交数据,但是这样看不到参数
        //URL中显示的只是跳转的页面。但是Transfer 不能跳转到本站点外的页面
        Server.Transfer("OrderDetails.aspx?id=101");

  

        //UrlEncode方法和HtmlEncode 方法效果是类似的
        //都是来转换特殊字符以方便页面的输出
        //UrlEncode方法是将字符串转换为URL地址
        //、HtmlEncode方法是将字符串转换为HTML代码
        //转换以后的字符串就可以直接使用Response的Write方法
        //来直接的输出而不用自己做特殊字符的转义
        string mess = Server.UrlEncode("P&G");
        string str = Server.HtmlEncode("<hr/>是一条直线");

  

 

 

 

 

 

 

 

posted @ 2012-05-19 19:32  Sky.Grain  阅读(192)  评论(0编辑  收藏  举报