亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET常用小技巧

2024-07-10 13:29:18
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了ASP.NET常用小技巧,非常實用,需要的朋友可以參考下

今天為大家介紹6個ASP.NET常用技巧,使用操作簡單,具有很高的實用性,記得收藏哦

1.跟蹤頁面執行

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

 

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

跟蹤信息可以分為兩類: a.頁面執行詳細情況

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

b.自定義跟蹤信息

通過在頁面代碼中調用Trace.Write()或Trace.Warn()方法便可將指定內容寫入跟蹤信息中的"TraceInformation"節。就算頁面發生了錯誤,跟蹤信息還是會顯示出來,并且在發布應用程序時無需刪除相關的跟蹤代碼,只需從Page指令中移除Trace屬性即可。

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

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

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

 

 
  1. <asp:Button ID="MyButton" Text="ClickMe" onmouseover="this.style.cursor='poi nter'" runat="server" />  

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

b.調用內置方法

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

 

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

這也是最常用的方法。

c.創建自定義控件

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

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

 

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

真是貼心的功能!

3.表單數據的服務器端驗證

將數據驗證任務從服務器端遷移到客戶端的過程促使了JavaScript的產生,這也是我們沿用至今的一種方式。但只有在保證客戶端JavaScript正常運行的前提下,這種方式才能發揮其作用。不幸的是,總有一些例外,比如瀏覽器不支持JavaScript,或者用戶刻意關閉了瀏覽器的JavaScript功能,這就導致了第一重防護失效。比較保險的做法是加入第二重防護,即對用戶提交的數據進行服務器端驗證,但這無疑將增加開發者的工作量。

ASP.NET2.0提供了一系列表單數據驗證控件,可以非常輕松的完成客戶端及服務器端的雙重數據驗證任務。但要使服務器端驗證功能發揮作用,還需要用到Page.IsValid屬性,請看下面的例子:

 

 
  1. <form id="MyForm" runat="server">  
  2. <div>  
  3. 姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>  
  4. <asp:RequiredField Validator ID="RequiredFieldValidator1"  
  5. ControlToValidate="txtName" ErrorMessage="請填寫 姓名!" Display="Dynamic" runat="server"></asp:RequiredFieldValidator>  
  6. </div>  
  7. <div>  
  8. <asp:Button ID="btnSubmit" Text="提交" runat="server" />  
  9. </div>  
  10. </form> 

這是一個HTML片段,其中有一個RequiredFieldValidator控件用于檢查是否已填寫姓名。下面是點擊按鈕時執行的服務器端代碼:

 

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

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

4.跳過表單驗證

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

a.跳過所有驗證

假設有個表單,其中除了各種數據錄入控件外還有兩個按鈕,一個是提交按鈕,另一個是取消按鈕,同時表單中還有一些數據驗證控件。我們希望當點擊取消按鈕的時候無需驗證表單中數據的有效性,而是直接將頁面提交至服務器并將其重定向到某個指定頁面。

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

b.觸發某些驗證

假設有個表單,被劃分成兩個功能區,一個用于用戶登錄,另一個用于用戶注冊,我們希望當點擊登錄按鈕時只觸發登錄區的數據驗證,當點擊注冊按鈕時只觸發注冊區的數據驗證。

解決辦法是將相關的數據驗證控件和數據提交控件(按鈕控件)加入同一個驗證組,這一點是通過將各相關控件的ValidationGroup屬性設為相同的值來實現的。

5.保持滾動條位置

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

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

 

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

6.禁用不必要的ViewState

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

ViewState默認是開啟的,需要手動關閉:

a.禁用頁面ViewState

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

 

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

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

b.禁用控件ViewState

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

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

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

以上就是小編為大家整理的ASP.NET的6個小技巧,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线拍偷自揄拍精品| 欧美激情一区二区三区久久久| 亚洲最大福利视频网| 精品国产一区二区三区久久狼5月| 国产婷婷97碰碰久久人人蜜臀| 亚洲人在线视频| 亚洲成人久久久| 国产精品免费看久久久香蕉| 欧美日韩在线视频首页| 欧美性猛交xxx| 懂色av中文一区二区三区天美| 97婷婷大伊香蕉精品视频| 国产美女高潮久久白浆| 97国产精品人人爽人人做| 国产成人在线亚洲欧美| 亚洲人成网站免费播放| 亚洲第一天堂无码专区| 日韩av免费网站| 国模叶桐国产精品一区| 中文字幕精品一区久久久久| 庆余年2免费日韩剧观看大牛| 69久久夜色精品国产69乱青草| 欧美成年人网站| 亚洲aⅴ日韩av电影在线观看| 欧美日韩国产精品一区二区三区四区| 国产精品美女久久久久久免费| xxxxxxxxx欧美| 成人羞羞国产免费| 亚洲国产日韩欧美在线图片| 国产v综合ⅴ日韩v欧美大片| 亚洲影院在线看| 亚洲精品98久久久久久中文字幕| 亚洲网站在线播放| 成人在线中文字幕| 97在线观看视频| 色诱女教师一区二区三区| 欧美日韩美女在线观看| 国产激情999| 欧美激情影音先锋| 久久91亚洲精品中文字幕| 久久婷婷国产麻豆91天堂| 日韩精品在线视频美女| 97国产精品人人爽人人做| 国产精品高潮呻吟久久av黑人| 亚洲欧美另类在线观看| 91九色在线视频| 欧美国产极速在线| 亚洲春色另类小说| 精品视频一区在线视频| 国产精品稀缺呦系列在线| 欧美激情视频网| 亚洲美女在线看| 日韩人在线观看| 亚洲免费视频在线观看| 日韩va亚洲va欧洲va国产| 欧美一区二区影院| 超薄丝袜一区二区| 91免费国产网站| 久久不射热爱视频精品| 中文字幕日韩欧美在线视频| 欧美在线不卡区| 中文字幕在线视频日韩| 久久久精品日本| 精品国产欧美一区二区五十路| 久久久视频免费观看| 亚洲欧美日韩中文视频| 亚洲欧美视频在线| 成人性生交xxxxx网站| 中文字幕日韩精品在线| 久久精品国产亚洲一区二区| 欧美视频在线观看免费网址| 热99精品里视频精品| 成人午夜激情网| 成人做爽爽免费视频| 欧美人成在线视频| 亚洲毛片一区二区| 国产精品第三页| 激情成人中文字幕| 亚洲欧洲日产国码av系列天堂| 国产精品美女免费视频| 欧美另类极品videosbest最新版本| 国产精品久久精品| 国产一区二区视频在线观看| 亚洲一区二区中文字幕| 亚洲福利视频专区| 亚洲加勒比久久88色综合| 欧美在线精品免播放器视频| 亚洲精品成人av| 亚洲国产精品久久91精品| 久久久之久亚州精品露出| 26uuu亚洲伊人春色| 人人爽久久涩噜噜噜网站| 日韩大陆欧美高清视频区| 国产精品亚洲精品| 成人夜晚看av| 亚洲第五色综合网| 日韩欧美视频一区二区三区| 亚洲成人精品久久| 91免费看国产| 日韩欧美在线免费| 91最新国产视频| 亚洲自拍欧美色图| 亚洲精品白浆高清久久久久久| 日韩精品免费在线视频观看| 亚洲新声在线观看| 久久久久久97| 国产精品久久久久久av福利| 夜夜嗨av色一区二区不卡| 欧美激情精品久久久久久蜜臀| 国内伊人久久久久久网站视频| 激情成人中文字幕| 92福利视频午夜1000合集在线观看| 国产69精品99久久久久久宅男| 中文字幕精品—区二区| 欧美日韩国产第一页| 亚洲国产又黄又爽女人高潮的| 亚洲最大福利网| 欧美在线观看www| 亚洲精品成人久久| 韩国三级日本三级少妇99| 亚洲人成网站色ww在线| 亚洲最大成人网色| 亚洲国产美女精品久久久久∴| 亚洲国产精品一区二区久| 热99精品只有里视频精品| 欧美—级高清免费播放| 国产精品人成电影在线观看| 欧美在线激情网| 成人精品一区二区三区电影免费| 欧美性xxxx18| 91影视免费在线观看| 国产欧美一区二区三区在线看| 国产精品一区二区三区免费视频| 国产又爽又黄的激情精品视频| 国产成人精品一区二区三区| 国产香蕉一区二区三区在线视频| 亚洲已满18点击进入在线看片| 成人性生交xxxxx网站| 欧美日韩在线观看视频| 国产精品成人品| 亚洲欧美一区二区精品久久久| 欧美激情中文字幕乱码免费| 亚洲精品日韩欧美| 亚洲欧美另类人妖| 久久精品国产亚洲精品| 欧美日韩国产在线播放| 精品久久久久久久久久久久久| 91av在线免费观看| 一本一本久久a久久精品牛牛影视| 欧美日韩免费在线| 高清一区二区三区四区五区| 在线精品高清中文字幕| 国产精品扒开腿做| 国产xxx69麻豆国语对白| 亚洲国产中文字幕在线观看| 有码中文亚洲精品| 欧美极品少妇xxxxⅹ喷水| 精品日韩视频在线观看| 国产91露脸中文字幕在线| 久久噜噜噜精品国产亚洲综合| 国产一区二区三区18| 疯狂做受xxxx高潮欧美日本| 国产精品老女人精品视频| 日日骚久久av|