最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET編程中的十大技巧第2/2頁

 更新時(shí)間:2006年09月18日 00:00:00   作者:  

5、只在必要時(shí)使用服務(wù)器端控件 

ASP.NET中新引入了一種在服務(wù)器端運(yùn)行的被稱作Web Server Controls的控件,在代碼中,它們經(jīng)常通過下面的語法被說明: 

<asp:TextBox id="txtLastName" size="40" runat="server" /> 
它們有時(shí)也被稱作ASP控件。服務(wù)器端控件是由runat屬性指示的,它的值總是“server”。 
通過添加runat屬性,一般的HTML控件可以被很方便地轉(zhuǎn)換到服務(wù)器端運(yùn)行,下面是一個(gè)簡單的例子: 

<input type="text" id="txtLastName" size="40" runat="server" /> 
可以通過id屬性中指定的名字,我們可以引用程序中的控件,可以通過編程的方式設(shè)置屬性和獲得值,因此,服務(wù)器端處理方式有較大的靈活性。 

這種靈活性是有一定代價(jià)的。每種服務(wù)器端控件都會消耗服務(wù)器上的資源。另外,除非控件、網(wǎng)頁或應(yīng)用程序明確地禁止view state,控件的狀態(tài)是包含在view state的隱藏域中,并在每次回送中都會被傳遞,這會引起嚴(yán)重的性能下降。 
在這方面的一個(gè)很好的例子是,網(wǎng)頁上控件表格的應(yīng)用,如果不需要在代碼中引用表格中的元素,則使用無需進(jìn)行服務(wù)器端處理的HTML表格。我們?nèi)匀豢梢栽贖TML表格單元中放置服務(wù)器控件,并在代碼中引用服務(wù)器控件。如果需要引用任意的表格元素,例如指定的單元,則整個(gè)表格必須是服務(wù)器控件。 


6. HyperLink控件、LinkButton控件的差別 

對于Web訪問者而言,HyperLink、LinkButton控件是一樣的,但它們在功能方面仍然有較大的差異。 
當(dāng)用戶點(diǎn)擊控件時(shí),HyperLink控件會立即將用戶“導(dǎo)航”到目標(biāo)URL,表件不會回送到服務(wù)器上。LinkButton控件則首先將表件發(fā)回到服務(wù)器,然后將用戶導(dǎo)航到目標(biāo)URL。如果在“到達(dá)”目標(biāo)URL之前需要進(jìn)行服務(wù)器端處理,則使用LinkButton控件;如果無需進(jìn)行服務(wù)器端處理,則可以使用HyperLink控件。 


7、注釋代碼 

這一技巧并不是針對ASP.NET的,但它是一個(gè)良好的編程習(xí)慣。 
注釋不僅僅應(yīng)當(dāng)說明代碼會執(zhí)行什么操作,還應(yīng)當(dāng)注明原因。例如,不要僅僅在注釋中說明是在遍歷數(shù)組,而是要說明遍歷數(shù)組是根據(jù)某一算法計(jì)算一個(gè)值,除非算法是相當(dāng)簡單的,否則還應(yīng)當(dāng)對算法進(jìn)行簡要的說明。 
.NET工程中的不同的編程語言都有各自不同的注釋符號,下面是一個(gè)簡要的說明: 
HTML <!-- 注釋 --> 
JavaScript // 注釋 
VBScript ' 注釋 
VB.NET ' 注釋 
C# // 注釋 
/* 多行內(nèi)容 
的注釋 
*/ 
SQL -- 注釋 

在服務(wù)器控件的開始和結(jié)束標(biāo)記中沒有注釋符號,但服務(wù)器能夠忽略掉所有它不能識別的屬性,因此我們能夠通過使用沒有定義的屬性來插入注釋。下面是一個(gè)例子: 

<asp:TextBox 
id="txtLastName" 
size="40" 
comment="這是我的注釋" 
runat="server" /> 
在Visual Studio .NET中對源代碼進(jìn)行注釋非常簡單。高亮度顯示需要注釋的行,然后按Ctrl+K+C組合鍵添加注釋。要刪除注釋,只需高亮度顯示被注釋的代碼,并按下Ctrl+K+U組合鍵。 
在C#工程中,我們還可以通過在每行的開始處使用///輸入XML注釋小節(jié)。在注釋小節(jié)中,我們可以使用下面的XML標(biāo)記組織注釋: 
<summary></summary> 
<remarks></remarks > 
<param></param> 
<returns></returns> 
<newpara></newpara> 
要在Visual Studio .NET中查看這些XML注釋的格式化的報(bào)告,我們可以首先選擇“工具”菜單項(xiàng),然后選擇“建立注釋W(xué)eb網(wǎng)頁”菜單項(xiàng)。 


8、使用trace方法和trace屬性記錄Page目錄中網(wǎng)頁的執(zhí)行情況 

調(diào)試程序的一種古老的技術(shù)是在程序中的關(guān)健點(diǎn)插入輸出語句,通常情況下,輸出信息中會包含重要變量的值,相關(guān)信息可以輸出到屏幕、日志文件或者數(shù)據(jù)庫。 
在ASP.NET中,通過使用Page命令中的trace屬性,這種調(diào)試技術(shù)的使用更簡單了。Page命令是ASPX文件開始處的一行代碼,它提供編譯器的指示。Page命令中包含一個(gè)或多個(gè)屬性,向編譯器提供使用的編程語言、代碼支持文件的位置或要繼承的類的名字等信息。 
Page命令中的屬性之一是trace,其值可能是true或false,下面是一個(gè)典型的Page命令,其中的trace屬性的值是true: 

<%@ Page language="c#" trace="true" %> 

如果trace屬性的值設(shè)置為true,由ASPX文件生成的Web頁就會顯示出來,除了網(wǎng)頁本身外,關(guān)于該頁的大量其他信息也會顯示出來。這些信息以下面小節(jié)的形式顯示在一張表格中: 
·Request細(xì)節(jié) 提供Session ID、請求時(shí)間和請求的狀態(tài)碼。 
·Trace Information 包含跟蹤日志、網(wǎng)頁生命周期中按時(shí)間先后順序各個(gè)步驟的列表。另外,也可以向其中添加定制信息。 
·控件樹 以一種分層次的方式列出網(wǎng)頁上的所有控件,包括每個(gè)控件以字節(jié)計(jì)算的大小。 
·Cookies集合 列出該網(wǎng)頁創(chuàng)建的所有Cookie。 
·頭部集合 HTTP頭部以及它們的值。 
·Server變量 與該網(wǎng)頁相關(guān)的Server環(huán)境變量。 

包含在Trace Information小節(jié)中的跟蹤日志是最有用的,在這里我們可以插入自己的跟蹤命令。trace類中有2個(gè)方法能夠在跟蹤日志中插入命令:Trace.Write和Trace.Warn,除了Trace.Warn命令用紅色字體顯示、Trace.Write命令用黑色字體顯示外,它們是相同的。下面是跟蹤日志的一個(gè)屏幕快照,其中包含有幾個(gè)Trace.Warn命令。 

跟蹤日志中最方便的功能是我們可以在開發(fā)和測試過程中在整個(gè)代碼中插入Trace.Write和Trace.Warn語句,而在最終交付應(yīng)用程序時(shí),可以通過改變Page命令中trace屬性的值,禁止這些命令起作用,而無需在部署應(yīng)用軟件前刪除這些輸出語句。 


9、使用存儲過程 

微軟公司的SQL Server和其他現(xiàn)代關(guān)系數(shù)據(jù)庫都使用SQL命令定義和處理查詢。一個(gè)SQL語句或一系列SQL語句提交給SQL Server,SQL Server會對命令進(jìn)行解析,然后創(chuàng)建一個(gè)查詢計(jì)劃并對它進(jìn)行優(yōu)化,然后執(zhí)行該查詢計(jì)劃,這都需要大量的時(shí)間。 
存儲過程是一系列被查詢處理器預(yù)解析和優(yōu)化的SQL命令,這些命令會被存儲起來,可以得到快速地執(zhí)行。存儲過程也被稱作sprocs,它可以接收輸入?yún)?shù),使一個(gè)單一的存儲過程能夠處理較大范圍的特定的查詢。 
因?yàn)閟procs是預(yù)先被解析的,對于復(fù)雜的查詢更顯得重要,其查詢計(jì)劃是預(yù)先優(yōu)化的,因此調(diào)用查詢過程比執(zhí)行相同功能的SQL語句速度要快得多。 


10、使用.NET命令行 

.NET命令行工具在命令提示符窗口中運(yùn)行。為了使命令能夠執(zhí)行,它必須駐留在命令提示符的當(dāng)前目錄中,或通過設(shè)置PATH環(huán)境變量。 
.NET SDK在“啟動”菜單上安裝一個(gè)菜單項(xiàng),該菜單項(xiàng)能夠打開一個(gè)正確設(shè)置了PATH環(huán)境變量的命令提示符窗口。我們可以通過依次點(diǎn)擊“開始”->“程序”->“Microsoft Visual Studio .NET”->“Visual Studio .NET工具”->“Visual Studio .NET命令提示符”,啟動命令提示符窗口。 
通過在將該菜單項(xiàng)從菜單上拖到桌面上時(shí),同時(shí)按Ctrl+C鍵,就可以將該菜單項(xiàng)的快捷方式拷貝到桌面上,使用起來會非常方便。  



相關(guān)文章

  • 關(guān)于dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫的問題

    關(guān)于dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫的問題

    這篇文章主要介紹了dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 如何使用Microsoft.Extensions.AI簡化.NET中的AI集成

    如何使用Microsoft.Extensions.AI簡化.NET中的AI集成

    Microsoft.Extensions.AI是一個(gè)創(chuàng)新的?.NET?庫,它為平臺開發(fā)人員提供了一個(gè)內(nèi)聚的?C#?抽象層,簡化了與大型語言模型(LLMs)和嵌入等AI服務(wù)的交互,本文給大家介紹如何使用Microsoft.Extensions.AI簡化.NET中的AI集成,感興趣的朋友一起看看吧
    2024-11-11
  • asp.net Md5的用法小結(jié)

    asp.net Md5的用法小結(jié)

    在ASP.NET中提供了加密的解決方法。在名字空間System.Web.Security中包含了類FormsAuthentication,其中有一個(gè)方法HashPasswordForStoringInConfigFile。
    2009-11-11
  • C#頁碼導(dǎo)航顯示及算法實(shí)現(xiàn)代碼

    C#頁碼導(dǎo)航顯示及算法實(shí)現(xiàn)代碼

    C#頁碼導(dǎo)航算法要求:頁數(shù)小于等于1時(shí)不顯示;頁數(shù)大于10時(shí),自動縮短,需要的朋友可以了解下
    2012-12-12
  • 老生常談.NET中的?COM?組件

    老生常談.NET中的?COM?組件

    COM組件中的接口是一組由組件實(shí)現(xiàn)的,提供給客戶使用的函數(shù),這篇文章主要介紹了.NET中的?COM?組件,需要的朋友可以參考下
    2022-10-10
  • VS2012實(shí)現(xiàn)簡單登錄界面

    VS2012實(shí)現(xiàn)簡單登錄界面

    這篇文章主要為大家詳細(xì)介紹了VS2012實(shí)現(xiàn)簡單登錄界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • ASP.NET Eval進(jìn)行數(shù)據(jù)綁定的方法

    ASP.NET Eval進(jìn)行數(shù)據(jù)綁定的方法

    ASP.NET Eval在數(shù)據(jù)綁定方面的應(yīng)用是眾所周知的,不過技術(shù)在發(fā)展,當(dāng)ASP.NET Eval 1.1變成ASP.NET Eval 2.0的時(shí)候,在操作的時(shí)候會有什么變化呢?
    2013-04-04
  • .NET?8新預(yù)覽版使用?Blazor?組件進(jìn)行服務(wù)器端呈現(xiàn)(項(xiàng)目體驗(yàn))

    .NET?8新預(yù)覽版使用?Blazor?組件進(jìn)行服務(wù)器端呈現(xiàn)(項(xiàng)目體驗(yàn))

    這篇文章主要介紹了.NET?8新預(yù)覽版使用?Blazor?組件進(jìn)行服務(wù)器端呈現(xiàn)(項(xiàng)目體驗(yàn)),這是 Blazor 統(tǒng)一工作的開始,旨在使 Blazor 組件能夠滿足客戶端和服務(wù)器端的所有 Web UI 需求,需要的朋友可以參考下
    2023-04-04
  • 詳解ASP.NET MVC 解析模板生成靜態(tài)頁(RazorEngine)

    詳解ASP.NET MVC 解析模板生成靜態(tài)頁(RazorEngine)

    我們在很多項(xiàng)目開發(fā)中會常常用到頁面靜態(tài)化,本篇文章主要介紹了詳解ASP.NET MVC 解析模板生成靜態(tài)頁(RazorEngine) ,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-03-03
  • 淺析.NET邏輯分層架構(gòu)

    淺析.NET邏輯分層架構(gòu)

    這篇文章主要介紹了.NET邏輯分層架構(gòu),分層架構(gòu)的三個(gè)基本層次分別為:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,感興趣的小伙伴們可以參考一下
    2015-11-11

最新評論

若羌县| 环江| 河西区| 楚雄市| 资中县| 砚山县| 门源| 中宁县| 遵化市| 高州市| 青神县| 马山县| 辽中县| 揭东县| 嵊泗县| 聂荣县| 潢川县| 伊吾县| 博湖县| 钦州市| 陈巴尔虎旗| 高台县| 寿光市| 眉山市| 永州市| 安岳县| 丹凤县| 洛浦县| 永德县| 偃师市| 苏尼特左旗| 阳信县| 岳阳市| 平度市| 丁青县| 望奎县| 综艺| 乌拉特中旗| 建瓯市| 诸城市| 谷城县|