1,关于id
页面上的某些控件带有id,并且runat="seerver",说明此控件对应一个aspx.cs中的一个名字与id值相同的实例对象
2,关于postback
postback就不去挖概念了,个人认为就是服务端的一个标记量,标记页面是否是被第一次加载,可以在PageLoad中,使用trace输入Page.IsPostBack属性的值,如果为false,表示这是第一次加载页面(第一次获取到服务器端传来的页面(客户端输入url-》服务器端将页面返回)),如果当你在一个页面上,比如提交表单,点击了submit,那么你就会看到trace输出了Page.IsPostBack是true,这就表明,这次页面加载时服务端返回的。(客户端点击submit->服务端返回页面)
3,如何输出日志信息
使用trace即可
.aspx页面上,@page 选项天添加Trace属性并设置其值为true
输出:(很多内容)
4,添加自定义跟踪信息
在Page_Load事件处理函数中,使用
Trace.Warn(“2310”,“IsPostBack=”+Page.IsPostBack):
效果:
5,使用应用级跟踪(也就是全局的trace)
需要在web.config中的System.web中添加trace子元素,并且设置enabled属性为true和pageOutput="true"(这两者必须都设置,页面上才能打印trace信息)
4与3有什么区别呢?3只是在单个页面上(也就是局部,相对于整个应用而言),4是全局的,每个页面不需要单独配置Pageoutput
6,实现对组件的跟踪
在组件的构造方法里(这是跟踪整个对象,全局),将TraceIsEnabled设置为true,或者在外界调用组件的某个方法(则是跟踪某个方法,只是局部)的开始处设置HttpContext.Current.Trace.IsEnabled 属性为 true
HttpContext.Current.Trace.Warn("message")
效果:
注意:如果测试页面引用了母版页,而恰好母版页中页调用这个方法,那么输出就可能是有几次
如果在母版页的pageload事件处理函数中加上trace,再访问子页就会出现下面这种情况(母版页竟然后与子页加载)