<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        ASP.NET的實(shí)用技巧詳細(xì)介紹

        來源:懂視網(wǎng) 責(zé)編:小OO 時(shí)間:2020-11-27 22:38:11
        文檔

        ASP.NET的實(shí)用技巧詳細(xì)介紹

        關(guān)于ASP.NET的實(shí)用技巧,其實(shí)我們已經(jīng)接觸到很多了。下面為大家總結(jié)一下,供大家參考。1.跟蹤頁面執(zhí)行;設(shè)置斷點(diǎn)是頁面調(diào)試過程中的常用手段,除此之外,還可以通過查看頁面的跟蹤信息進(jìn)行錯(cuò)誤排查以及性能優(yōu)化。ASP.NET中啟用頁面跟蹤非常方便,只需在Page指令中加入Trace="True"屬性即可。<;%@ Page Language="C#" Trace="true">。跟蹤信息可以分為兩類。a.頁面執(zhí)行詳細(xì)情況。其中主要包括頁面生命周期中各事件列表、控件樹列表(可以查看每個(gè)控件的HTML字節(jié)數(shù)以及ViewState字節(jié)數(shù))、Session狀態(tài)、Application狀態(tài)、Cookie集合、QueryString集合、服務(wù)器變量等信息。b.自定義跟蹤信息;
        推薦度:
        導(dǎo)讀關(guān)于ASP.NET的實(shí)用技巧,其實(shí)我們已經(jīng)接觸到很多了。下面為大家總結(jié)一下,供大家參考。1.跟蹤頁面執(zhí)行;設(shè)置斷點(diǎn)是頁面調(diào)試過程中的常用手段,除此之外,還可以通過查看頁面的跟蹤信息進(jìn)行錯(cuò)誤排查以及性能優(yōu)化。ASP.NET中啟用頁面跟蹤非常方便,只需在Page指令中加入Trace="True"屬性即可。<;%@ Page Language="C#" Trace="true">。跟蹤信息可以分為兩類。a.頁面執(zhí)行詳細(xì)情況。其中主要包括頁面生命周期中各事件列表、控件樹列表(可以查看每個(gè)控件的HTML字節(jié)數(shù)以及ViewState字節(jié)數(shù))、Session狀態(tài)、Application狀態(tài)、Cookie集合、QueryString集合、服務(wù)器變量等信息。b.自定義跟蹤信息;

        關(guān)于ASP.NET的實(shí)用技巧,其實(shí)我們已經(jīng)接觸到很多了。下面為大家總結(jié)一下,供大家參考。

        1.跟蹤頁面執(zhí)行

        設(shè)置斷點(diǎn)是頁面調(diào)試過程中的常用手段,除此之外,還可以通過查看頁面的跟蹤信息進(jìn)行錯(cuò)誤排查以及性能優(yōu)化。ASP.NET中啟用頁面跟蹤非常方便,只需在Page指令中加入Trace="True"屬性即可:

        <%@ Page Language="C#" Trace="true"> 

        跟蹤信息可以分為兩類:

        a.頁面執(zhí)行詳細(xì)情況

        其中主要包括頁面生命周期中各事件列表、控件樹列表(可以查看每個(gè)控件的HTML字節(jié)數(shù)以及ViewState字節(jié)數(shù))、Session狀態(tài)、Application狀態(tài)、Cookie集合、QueryString集合、服務(wù)器變量等信息。

        b.自定義跟蹤信息

        通過在頁面代碼中調(diào)用Trace.Write()或Trace.Warn()方法便可將指定內(nèi)容寫入跟蹤信息中的"Trace Information"節(jié)。就算頁面發(fā)生了錯(cuò)誤,跟蹤信息還是會(huì)顯示出來,并且在發(fā)布應(yīng)用程序時(shí)無需刪除相關(guān)的跟蹤代碼,只需從Page指令中移除Trace屬性即可。

        2.在服務(wù)器端控件中添加客戶端屬性

        我們有時(shí)會(huì)向服務(wù)器端控件中添加一些特殊的屬性,這類屬性不需要服務(wù)器端的處理,只需簡(jiǎn)單的發(fā)送至客戶端即可,我們不妨稱其為客戶端屬性,例如HTML屬性或自定義屬性(可能用于實(shí)現(xiàn)某種特定的JavaScript功能)??梢酝ㄟ^以下幾種方法達(dá)到這個(gè)目的:

        a.直接向控件添加客戶端屬性

        <this.style.cursor='pointer'" runat="server" /> 
        

        其中的onmouseover是客戶端屬性,注意,編譯器是允許這種寫法的,但會(huì)顯示警告。

        b.調(diào)用內(nèi)置方法

        可以通過調(diào)用WebControl.Attributes.Add()方法為控件添加客戶端屬性,如下所示:

        MyButton.Attributes.Add("onmouseover", "this.style.cursor='pointer'"); 
        

        這也是最常用的方法。

        c.創(chuàng)建自定義控件

        如果某個(gè)類型的服務(wù)器端控件中經(jīng)常需要添加客戶端屬性,則可以考慮創(chuàng)建一個(gè)繼承自該服務(wù)器端控件的自定義控件,其中包含特定的客戶端屬性。

        正是考慮到這一點(diǎn),ASP.NET 2.0中為按鈕控件(包括Button、LinkButton、ImageButton控件)提供了OnClientClick屬性,可以這樣寫:

        MyButton.OnClientClick = "alert('Hello!')"; 
        

        真是貼心的功能!

        3.表單數(shù)據(jù)的服務(wù)器端驗(yàn)證

        將數(shù)據(jù)驗(yàn)證任務(wù)從服務(wù)器端遷移到客戶端的過程促使了JavaScript的產(chǎn)生,這也是我們沿用至今的一種方式。但只有在保證客戶端JavaScript正常運(yùn)行的前提下,這種方式才能發(fā)揮其作用。

        不幸的是,總有一些例外,比如瀏覽器不支持JavaScript,或者用戶刻意關(guān)閉了瀏覽器的JavaScript功能,這就導(dǎo)致了第一重防護(hù)失效。比較保險(xiǎn)的做法是加入第二重防護(hù),即對(duì)用戶提交的數(shù)據(jù)進(jìn)行服務(wù)器端驗(yàn)證,但這無疑將增加開發(fā)者的工作量。

        ASP.NET 2.0提供了一系列表單數(shù)據(jù)驗(yàn)證控件,可以非常輕松的完成客戶端及服務(wù)器端的雙重?cái)?shù)據(jù)驗(yàn)證任務(wù)。但要使服務(wù)器端驗(yàn)證功能發(fā)揮作用,還需要用到Page.IsValid屬性,請(qǐng)看下面的例子:

        姓名:

        ator ID="RequiredFieldValidator1" ControlToValidate="txtName" 
        ErrorMessage="請(qǐng)?zhí)顚懶彰? Display="Dynamic" runat="server"> 
        

        這是一個(gè)HTML片段,其中有一個(gè)RequiredFieldValidator控件用于檢查是否已填寫姓名。下面是點(diǎn)擊按鈕時(shí)執(zhí)行的服務(wù)器端代碼:

        protected void btnSubmit_Click(object sender, EventArgs e) 
        { 
        if (Page.IsValid) //注意:不要遺漏對(duì)Page.IsValid屬性的判斷 
        { 
        Response.Write("你的名字是:" + txtName.Text); 
        } 
        } 
        

        其中,要特別注意對(duì)Page.IsValid屬性的判斷,只有頁面中所有驗(yàn)證控件對(duì)數(shù)據(jù)的驗(yàn)證都成功時(shí),Page.IsValid屬性才為True,這代表提交的數(shù)據(jù)為有效數(shù)據(jù),可以進(jìn)入下一步操作。

        4.跳過表單驗(yàn)證

        在某些情況下,我們需要跳過表單中所有控件的驗(yàn)證,然而在另外一些情況下,我們卻希望有選擇的觸發(fā)表單中某些控件的驗(yàn)證功能。分別來看看這兩種情況:

        a.跳過所有驗(yàn)證

        假設(shè)有個(gè)表單,其中除了各種數(shù)據(jù)錄入控件外還有兩個(gè)按鈕,一個(gè)是提交按鈕,另一個(gè)是取消按鈕,同時(shí)表單中還有一些數(shù)據(jù)驗(yàn)證控件。我們希望當(dāng)點(diǎn)擊取消按鈕的時(shí)候無需驗(yàn)證表單中數(shù)據(jù)的有效性,而是直接將頁面提交至服務(wù)器并將其重定向到某個(gè)指定頁面。

        要實(shí)現(xiàn)這個(gè)功能,可以利用按鈕控件(包括Button、LinkButton、ImageButton控件)的CausesValidation屬性,將該屬性設(shè)為false即可跳過表單中的所有驗(yàn)證。

        b.觸發(fā)某些驗(yàn)證

        假設(shè)有個(gè)表單,被劃分成兩個(gè)功能區(qū),一個(gè)用于用戶登錄,另一個(gè)用于用戶注冊(cè),我們希望當(dāng)點(diǎn)擊登錄按鈕時(shí)只觸發(fā)登錄區(qū)的數(shù)據(jù)驗(yàn)證,當(dāng)點(diǎn)擊注冊(cè)按鈕時(shí)只觸發(fā)注冊(cè)區(qū)的數(shù)據(jù)驗(yàn)證。

        解決辦法是將相關(guān)的數(shù)據(jù)驗(yàn)證控件和數(shù)據(jù)提交控件(按鈕控件)加入同一個(gè)驗(yàn)證組,這一點(diǎn)是通過將各相關(guān)控件的ValidationGroup屬性設(shè)為相同的值來實(shí)現(xiàn)的。

        5.保持滾動(dòng)條位置

        假設(shè)有個(gè)頁面,其中以列表形式顯示了一些數(shù)據(jù)記錄,每次編輯其中的記錄時(shí)都需要向服務(wù)器提交頁面,為了提供良好的用戶體驗(yàn),我們希望每次編輯一條記錄并保存后,滾動(dòng)條位置都能保持不變。傳統(tǒng)的做法是每次提交頁面時(shí)將當(dāng)前滾動(dòng)條所在位置信息按某種方式(Hidden字段或QueryString)傳給服務(wù)器端,當(dāng)頁面返回客戶端時(shí),由服務(wù)器端根據(jù)傳入的位置信息以JavaScript形式重新設(shè)置滾動(dòng)條位置。

        如果通過ASP.NET來實(shí)現(xiàn)這一功能將變得非常簡(jiǎn)單,只需在Page指令中加入MaintainScrollPositionOnPostback="true"屬性即可:

        <%@ Page Language="C#" MaintainScrollPositionOnPostback="true"> 
        

        6.禁用不必要的ViewState

        在ASP.NET的運(yùn)行機(jī)制中,ViewState起著重要的作用。ViewState經(jīng)過編碼后存入表單Hidden字段,每當(dāng)頁面回傳至服務(wù)器時(shí)再進(jìn)行解碼。因此,ViewState的使用會(huì)帶來兩個(gè)問題:帶寬的占用以及計(jì)算資源的消耗。好在不是所有控件都需要啟用ViewState,我們完全可以禁用不必要的ViewState。

        ViewState默認(rèn)是開啟的,需要手動(dòng)關(guān)閉:

        a.禁用頁面ViewState

        在Page指令中加入EnableViewState="false"屬性即可:

        <%@ Page Language="C#" EnableViewState="false"> 
        

        加入這個(gè)屬性后,整個(gè)頁面以及其中的所有控件都將無法使用ViewState,因此需謹(jǐn)慎使用。

        b.禁用控件ViewState

        這是推薦的方式,將控件的EnableViewState屬性設(shè)為False即可禁用其ViewState,這里有個(gè)簡(jiǎn)單的竅門:

        如果某個(gè)控件的狀態(tài)不能由操作者改變,則可以禁用其ViewState。最典型的莫過于Label控件了,只能顯示信息,無法操作。

        但TextBox、DorpDownList等控件的狀態(tài)是可以改變的(通過輸入、選擇等操作),因此保留他們的ViewState還是有用的。

        希望本文介紹的關(guān)于asp.net實(shí)用技巧的六方面,能夠給你帶來幫助。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET的實(shí)用技巧詳細(xì)介紹

        關(guān)于ASP.NET的實(shí)用技巧,其實(shí)我們已經(jīng)接觸到很多了。下面為大家總結(jié)一下,供大家參考。1.跟蹤頁面執(zhí)行;設(shè)置斷點(diǎn)是頁面調(diào)試過程中的常用手段,除此之外,還可以通過查看頁面的跟蹤信息進(jìn)行錯(cuò)誤排查以及性能優(yōu)化。ASP.NET中啟用頁面跟蹤非常方便,只需在Page指令中加入Trace="True"屬性即可。<;%@ Page Language="C#" Trace="true">。跟蹤信息可以分為兩類。a.頁面執(zhí)行詳細(xì)情況。其中主要包括頁面生命周期中各事件列表、控件樹列表(可以查看每個(gè)控件的HTML字節(jié)數(shù)以及ViewState字節(jié)數(shù))、Session狀態(tài)、Application狀態(tài)、Cookie集合、QueryString集合、服務(wù)器變量等信息。b.自定義跟蹤信息;
        推薦度:
        標(biāo)簽: 方法 技巧 介紹
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 四虎永久在线免费观看| 亚洲av午夜成人片精品网站 | 四虎国产精品成人免费久久| 最新精品亚洲成a人在线观看| 51在线视频免费观看视频| 亚洲精品无码成人片久久不卡| 亚洲性在线看高清h片| 84pao强力永久免费高清| 国产亚洲精品国产福利在线观看 | 亚洲自偷自拍另类图片二区| 性做久久久久免费看| 人人玩人人添人人澡免费| 国产AV无码专区亚洲AV蜜芽| 亚洲成人动漫在线| 国产一区在线观看免费| 免费国产污网站在线观看15| 国产亚洲福利一区二区免费看 | 亚洲男女内射在线播放| 美女裸身网站免费看免费网站| 九九热久久免费视频| 亚洲av乱码一区二区三区 | 久久精品蜜芽亚洲国产AV| 亚洲AV无码不卡在线观看下载| 999在线视频精品免费播放观看| 国产精品免费久久久久影院| 亚洲最大的成人网| 亚洲五月六月丁香激情| 国产成人精品日本亚洲专区| 成人au免费视频影院| 99re6免费视频| 韩国免费a级作爱片无码| 亚洲欧美aⅴ在线资源| 亚洲美女色在线欧洲美女| 在线亚洲精品福利网址导航| 日韩高清在线免费观看| **一级一级毛片免费观看| 国产特黄一级一片免费| 白白色免费在线视频| 亚洲GV天堂无码男同在线观看| 亚洲最大黄色网站| 亚洲AV日韩AV天堂久久|