Asp.net和C#開發中的一些注意事項及小技巧

來源:互聯網
上載者:User
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>");



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.