您的位置:首页 > 编程语言 > ASP

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

2012-05-19 19:32 351 查看
下图是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/>是一条直线");


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: