校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ASP.NET的實(shí)用技巧詳細(xì)介紹

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

熱門標(biāo)簽:上海市三維地圖標(biāo)注 寧德防封版電銷卡 西寧電銷外呼系統(tǒng)公司 南昌自動外呼系統(tǒng)線路 辦公用地圖標(biāo)注網(wǎng)點(diǎn)怎么操作 聊城智能電銷機(jī)器人電話 海東防封電銷卡 云南外呼系統(tǒng)代理 安陸市地圖標(biāo)注app

關(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ò)誤,跟蹤信息還是會顯示出來,并且在發(fā)布應(yīng)用程序時(shí)無需刪除相關(guān)的跟蹤代碼,只需從Page指令中移除Trace屬性即可。

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

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

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

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

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

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ù),即對用戶提交的數(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屬性,請看下面的例子:

姓名:

ator ID="RequiredFieldValidator1" ControlToValidate="txtName" 
ErrorMessage="請?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) //注意:不要遺漏對Page.IsValid屬性的判斷 
{ 
Response.Write("你的名字是:" + txtName.Text); 
} 
} 

其中,要特別注意對Page.IsValid屬性的判斷,只有頁面中所有驗(yàn)證控件對數(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è)用于用戶注冊,我們希望當(dāng)點(diǎn)擊登錄按鈕時(shí)只觸發(fā)登錄區(qū)的數(shù)據(jù)驗(yàn)證,當(dāng)點(diǎn)擊注冊按鈕時(shí)只觸發(fā)注冊區(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.保持滾動條位置

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

如果通過ASP.NET來實(shí)現(xià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的使用會帶來兩個(gè)問題:帶寬的占用以及計(jì)算資源的消耗。好在不是所有控件都需要啟用ViewState,我們完全可以禁用不必要的ViewState。

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

a.禁用頁面ViewState

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

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

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

b.禁用控件ViewState

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

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

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

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

您可能感興趣的文章:
  • asp.net 特定目錄form驗(yàn)證
  • .net實(shí)現(xiàn)網(wǎng)站用戶登錄認(rèn)證
  • Asp.Net實(shí)現(xiàn)FORM認(rèn)證的一些使用技巧(必看篇)

標(biāo)簽:南寧 贛州 青海 衢州 洛陽 崇左 汕尾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET的實(shí)用技巧詳細(xì)介紹》,本文關(guān)鍵詞  ASP.NET,的,實(shí)用技巧,詳細(xì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET的實(shí)用技巧詳細(xì)介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET的實(shí)用技巧詳細(xì)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美又粗又大又爽| 99r国产精品| 日韩精品一区二区三区蜜臀| 日韩在线a电影| 日韩一区二区麻豆国产| 国产麻豆精品在线观看| 国产精品嫩草久久久久| 色婷婷亚洲综合| 日本欧美韩国一区三区| 精品久久久久一区二区国产| 国产传媒日韩欧美成人| 中文字幕一区二| 欧美久久久久久蜜桃| 精品一区二区三区免费| 国产精品久久久久久久久久免费看| 91在线免费视频观看| 亚洲va韩国va欧美va| 欧美tickle裸体挠脚心vk| 99久免费精品视频在线观看| 亚洲国产欧美在线| 久久精品一级爱片| 欧美日韩一区高清| 国产综合久久久久久久久久久久| 亚洲国产电影在线观看| 欧美美女激情18p| 国产精品69毛片高清亚洲| 亚洲一区二区美女| 国产喂奶挤奶一区二区三区 | 极品销魂美女一区二区三区| 久久精品一区二区三区av| 日本国产一区二区| 国产成人免费视频| 亚洲国产一区二区三区| 国产日韩v精品一区二区| 欧美高清精品3d| 成人网男人的天堂| 久久99日本精品| 亚洲永久免费视频| 中文在线免费一区三区高中清不卡| 欧美日韩性生活| 成人黄色小视频| 久久se这里有精品| 午夜精品视频在线观看| 综合久久给合久久狠狠狠97色| 欧美一级精品在线| 欧美视频在线观看一区二区| 成人精品鲁一区一区二区| 奇米精品一区二区三区四区| 亚洲自拍欧美精品| 一区精品在线播放| 中文一区在线播放 | 久久免费美女视频| 日韩欧美在线123| 欧美亚洲高清一区二区三区不卡| 懂色av一区二区三区免费看| 美国毛片一区二区| 日日噜噜夜夜狠狠视频欧美人| 亚洲女与黑人做爰| 综合在线观看色| 欧美韩国日本不卡| 久久这里只有精品视频网| 日韩欧美电影一区| 欧美一级在线视频| 欧美裸体一区二区三区| 欧美挠脚心视频网站| 欧美在线播放高清精品| 欧亚洲嫩模精品一区三区| 99精品在线观看视频| av资源网一区| 99这里只有精品| 99精品偷自拍| 91成人免费在线视频| 色哟哟在线观看一区二区三区| gogo大胆日本视频一区| 成人手机在线视频| jvid福利写真一区二区三区| 成人精品免费看| av在线一区二区| 成人18视频在线播放| av在线播放不卡| 一本一本大道香蕉久在线精品| 一本色道a无线码一区v| 欧美综合在线视频| 欧美乱熟臀69xxxxxx| 欧美一区二区三区系列电影| 欧美一区二区三区在线看| 日韩欧美专区在线| 国产亚洲欧美日韩在线一区| 欧美激情中文字幕一区二区| 日韩美女精品在线| 亚洲国产乱码最新视频| 青青国产91久久久久久| 韩国成人福利片在线播放| 成人爽a毛片一区二区免费| 91视频在线看| 91精品国产综合久久久久久久 | 亚洲第一会所有码转帖| 日韩精品91亚洲二区在线观看| 理论片日本一区| 蜜桃精品在线观看| 国产一区二区三区免费播放| 国产.欧美.日韩| 欧美一a一片一级一片| 日韩三级免费观看| 中文字幕亚洲不卡| 午夜免费久久看| 国产成都精品91一区二区三| 色婷婷久久一区二区三区麻豆| 欧美福利一区二区| 欧美激情一区在线观看| 亚洲成人综合网站| 国产一区二区三区免费播放| 91福利国产精品| 久久久亚洲精品石原莉奈| 一区二区三区四区亚洲| 久久99国产精品久久99| 99视频在线观看一区三区| 日韩一级在线观看| 亚洲欧美日韩中文播放 | 欧美国产97人人爽人人喊| 亚洲人成在线播放网站岛国| 奇米777欧美一区二区| 9l国产精品久久久久麻豆| 欧美色倩网站大全免费| 国产蜜臀97一区二区三区| 视频一区视频二区中文| 国产精品123| 91精品婷婷国产综合久久性色| 国产精品久久久久久久久久久免费看 | 欧美在线一区二区| 欧美激情一区二区三区不卡 | 亚洲精品成人在线| 国产精品系列在线观看| 欧美欧美午夜aⅴ在线观看| 中文字幕av一区二区三区| 奇米影视一区二区三区小说| 色中色一区二区| 国产欧美日韩精品在线| 蜜桃一区二区三区四区| 在线观看网站黄不卡| 中文成人av在线| 韩国成人福利片在线播放| 6080日韩午夜伦伦午夜伦| 一区二区三区在线播| jiyouzz国产精品久久| 欧美国产激情一区二区三区蜜月 | 国产丶欧美丶日本不卡视频| 欧美一区二区三区视频在线观看| 亚洲国产一区二区在线播放| 91丨国产丨九色丨pron| 国产精品美女久久久久久久| 国产一区二区美女诱惑| 91精品国产综合久久香蕉的特点| 夜夜嗨av一区二区三区四季av| 成人h动漫精品一区二区| 精品va天堂亚洲国产| 老司机精品视频线观看86| 欧美日产国产精品| 亚洲在线免费播放| 91国产视频在线观看| 亚洲欧美激情在线| 99vv1com这只有精品| 中文字幕综合网| 91极品视觉盛宴| 亚洲一区在线视频观看| 欧美怡红院视频| 午夜影院在线观看欧美| 91精品国产综合久久久蜜臀粉嫩| 视频一区中文字幕国产| 欧美一级搡bbbb搡bbbb| 狠狠色狠狠色综合系列| 久久精品夜夜夜夜久久| 成人免费看的视频| 亚洲欧美日韩一区二区 | 亚洲一区免费观看| 色噜噜夜夜夜综合网| 亚洲第一成年网| 91精品黄色片免费大全| 精品一区二区在线免费观看| 久久久精品2019中文字幕之3| 国产一区不卡在线| 国产精品免费久久久久| 一本到高清视频免费精品| 亚洲成人资源在线| 日韩女优毛片在线| 成人国产精品视频| 亚洲制服丝袜av| 日韩欧美国产三级| 不卡视频一二三| 首页国产欧美久久| 久久精品免费在线观看| 91小视频免费观看| 石原莉奈在线亚洲二区| 久久影院电视剧免费观看| 99久久亚洲一区二区三区青草| 亚洲一区二区三区激情| 久久综合99re88久久爱| 91国产丝袜在线播放| 美女诱惑一区二区| 亚洲三级小视频|