ASP.Net調(diào)試之3板斧:第二招
發(fā)表時(shí)間:2024-02-20 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]上一次我們說(shuō)到配置Config.web文件,讓出錯(cuò)信息給出更多的提示?晒庥刑崾居钟惺裁从媚?“最多就是知道錯(cuò)在哪里,可我還是不會(huì)改呀!”別急,別急,看看咱們這篇文章叫什么來(lái)著,“三板斧”,那當(dāng)然是一斧賽過(guò)一斧啦!上次那招不夠厲害,我們還有下面的那,所以別急啊,且聽(tīng)我慢慢道來(lái)。第二招:Trace追...
上一次我們說(shuō)到配置Config.web文件,讓出錯(cuò)信息給出更多的提示。可光有
提示又有什么用呢?“最多就是知道錯(cuò)在哪里,可我還是不會(huì)改呀!”別急,別
急,看看咱們這篇文章叫什么來(lái)著,“三板斧”,那當(dāng)然是一斧賽過(guò)一斧啦!上
次那招不夠厲害,我們還有下面的那,所以別急啊,且聽(tīng)我慢慢道來(lái)。
第二招:Trace追蹤
用過(guò)ASP的人應(yīng)該都用過(guò)下面的語(yǔ)句吧:
Response.Write XXX
Response.End
雖然我不太喜歡ASP的編程方法,但是這種方便的調(diào)試手段還是很好的。換用
ASP.Net以后,我發(fā)現(xiàn)ASP.Net提供一種更強(qiáng)大的調(diào)試方法,它就是我們現(xiàn)在要說(shuō)
的Trace。所謂Trace功能就是在網(wǎng)頁(yè)的最前面加上一些標(biāo)記,至于是什么標(biāo)記呢?嘿嘿,我不能馬上告訴你(不好,臭雞蛋……哇!)。我是說(shuō),我要先介紹一點(diǎn)基礎(chǔ)的知識(shí)啦!
我不知道大家對(duì)ASP.Net的頁(yè)面標(biāo)示了解多少,為了下面講解的方便,我還是
概要的介紹一下吧!ASP.Net的頁(yè)面標(biāo)示指的是在每一個(gè)ASP.Net頁(yè)面最上面,用
<%@和%>括起來(lái)的語(yǔ)句。它的功能是用來(lái)確定在處理ASP.Net文件的時(shí)候,需要系
統(tǒng)做一些什么特殊的設(shè)定。具體的語(yǔ)法如下:
<%@ directive attribute=value %>
其中:directive就是頁(yè)面標(biāo)示符;attribute是該標(biāo)示符對(duì)應(yīng)的一些屬性。
注意:在屬性之間需要空格,而在"="之間不能有空格。
ASP.Net現(xiàn)在包含以下7種標(biāo)識(shí)
@ Page,
@ Control,
@ Import,
@ Registe,
@ Assembly,
@ OutputCache,
@ Webservice
我們用得最多的就是@ Page標(biāo)示,而現(xiàn)在我要講的Trace功能,也要用到@ Page。(關(guān)于這七個(gè)標(biāo)示的具體應(yīng)用,我會(huì)在以后發(fā)貼講述的。)好了,回到我們的主題。要用Trace功能,你必須在頁(yè)面的最上面加上:<%@ Page Trace="true" %> 這句話(huà)。加好后,你就可以看看頁(yè)面的運(yùn)行情況了。運(yùn)行該頁(yè)面。你會(huì)發(fā)現(xiàn)在頁(yè)面的下半部分出現(xiàn)了一大堆的數(shù)據(jù)。下面就來(lái)解釋一下這些數(shù)據(jù)的含義:
Request Details:通過(guò)Request方式向?yàn)g覽器所讀取的數(shù)據(jù);
Trace Information:事件發(fā)生或程序執(zhí)行的過(guò)程信息;
Control Tree:網(wǎng)頁(yè)所使用的控件及控件之間的階層關(guān)系;
Cookies Collection:網(wǎng)頁(yè)所使用的Cookie信息;
Headers Collection:瀏覽器的表頭信息。
Server Variables:Server變量的數(shù)據(jù)信息。
有了這一大堆數(shù)據(jù),我們的工作就好做多了,但且慢歡喜,Trace還提供了更強(qiáng)大的功能,請(qǐng)接著看下去。
除了讓ASP.Net頁(yè)面顯示這一堆數(shù)據(jù)外,我們還可以將程序中用到的變量的
值實(shí)時(shí)的顯示在Trace Information區(qū)段中,其方法是調(diào)用Trace.Warn或Trace.Write兩個(gè)方法。他們的用法如下:
Trace.Warn("Description",Variables);
Trace.Write("Description",Variables);
我想你們一定會(huì)問(wèn),這兩個(gè)有什么區(qū)別呢?回答是:在功能上,這兩個(gè)是一模一樣的,只是在顯示上,Trace.Warn將會(huì)以紅色字體表示。
好了,不知道這樣介紹一下大家感覺(jué)怎么樣?反正我是好累啊!好了不說(shuō)了,有什么問(wèn)題提吧,我會(huì)盡量做答的。讓我們下次再見(jiàn)!