asp.net|技巧
1、建構函式不能帶傳回值類型,因為建構函式返回就是對象本身。
2、將字串轉換成日期類型,用DateTime.Parese()或DateTime. ParseExact ()函數。
3、if(!Page.IsPostback){}
使用該函數,使網頁僅在第一次載入時運行函數體的內容,在Page_Load()事件中,通常可用於初始化。如果不使用該函數,則可能會在一些控制項回傳時再次運行if()函數體內的內容,導致相關控制項修改後的值沒有正確應用。
4、GridView的欄位(BoundField)有一個屬性HtmlEncode。這個屬性用於將HTML進行封裝,如果為true(預設值),則原樣顯示欄位內的內容。如果為false,則將欄位內相應的HTML標籤進行渲染。因此,要使欄位內的圖片連結顯示出來,應設定HtmlEncode=“true”。
5、網頁中擷取日期後進行格式化的方法:Eval("wtDate", "{0:yyyy-MM-dd}")但在DateTime.Now.Date.ToString("yyyy-MM-dd") 中的字串格式化卻有所不同。
6、NVarChar資料類型,在SQL SERVER 2005中具有NVarChar(max)類型來代表最大為2^32 的數字,但是在.net2.0中並不支援這個類型,NVarChar最大能表示的數仍為4000位元組。
7、將字串類型轉換為Guid類型,可將字串作為Guid建構函式的參數進行傳遞。
如: Guid gd = New Guid(string);
Guid類型的空值為Guid.Empty ,而非null。
8、最好對各欄位都儲存值,即便不使用,也就進行初始設定,以避免為空白值時,出現資料類型不匹配現象,如DateTime,uniqueIdentifier欄位,取出空值進行處理時會帶來麻煩。
9、對記錄數進行統計,使用類似下面的語句:
int cout =(int)cmd.ExecuteScalar();
10、預存程序中,萬用字元與參數結合使用,要採用字串加法,而不能直接放在參數兩側,如下:
WHERE RTRIM(f.ftTitle) LIKE '%'+RTRIM(@searchkey)+'%'
11、要擷取list<T>對象中某個項的值,可採用如下方法:
如List<ftInfo> CurrentFault = new List<ftInfo>();//建立一個對象
假設ftInfo類中定義了ftIsResovled屬性,那麼,要擷取CurrentFault的第0項的ftIsResolved值,可通過語名: CurrentFault[0].ftIsResolved 來獲得。
12、Input控制項中包含有標籤的內容(如)時,可能會有如下因為安全問題引起的錯誤:說明: 請求驗證過程檢測到有潛在危險的用戶端輸入值,對請求的處理已經中止。該值可能指示危及應用程式安全的嘗試,如跨網站的指令碼攻擊。通過在 Page 指令或 配置節中設定 validateRequest=false 可以禁用請求驗證。但是,在這種情況下,強烈建議應用程式顯式檢查所有輸入。
13、顯示帶有HTML標記的欄位內容,如果需要渲染HTML標籤,可以設定htmlencode屬性為true。設定為false時,欄位內的HTML標籤將按一般字元顯示。也可以使用HtmlEncode()方法來渲染欄位內容的HTML標籤。
14、LoginStatus控制項可以方便地顯示登入狀態,並且提供登入和登出的快捷連結。但有時並不方便,特別是登出的同時要退出框架頁時,使用該控制項就顯得力不從心。可以直接使用LinkButton控制項,在點擊事件中,添加如下兩句,就可以實現登出的同時跳轉到框架頁的父視窗:
FormsAuthentication.SignOut();
Response.Write("<script language=javascript> window.open('../Default.aspx',target='_top')</script>");
15、C#中關閉視窗:
Response.Write("<script language:javascript>javascript:window.close();</script>");