Time of Update: 2018-12-07
Asp.NET 4.5的新特性之一是改進了模型繫結方式(Model Binding)。通過借鑒ObjectDataSource和Asp.NET MVC的概念,Asp.NET 4.5擴充了模型繫結的方式,使程式員可更加方便地使用Asp.NET Web Form控制項編寫以代碼為中心的資料訪問程式。在按照例子編寫代碼時發現一個小問題,在頁面後台代碼編寫資料過濾方法時,Control屬性並不被認可,提示System.Web.UI.Control不是屬性類別。: 解決方案,在類前添加 using
Time of Update: 2018-12-07
如果要你用ASP來做一個郵件發送系統,你一定認為這是一個比較複雜的工作。其實也的確是這樣。但當他的後繼產品ASP.NET被推出以後,他的強大功能就使的這一切就變的相對簡單了。真的這樣神奇嗎?我們就通過ASP.NET做一個郵件發送系統,看看到底有什麼奧秘,是不是真的簡單。 一.運行環境 雖然Microsoft公司推出Visual Studio .NET已經有一段時間了,但.NET Framework SDK卻依然還是BETA版,分別是BETA 1和BETA
Time of Update: 2018-12-07
反射是.NET中的重要機制,通過反射,可以在運行時獲得程式或程式集中每一個類型(包括類、結構、委託、介面和枚舉等)的成員和成員的資訊。有了反射,即可對每一個類型了如指掌。另外我還可以直接建立對象,即使這個對象的類型在編譯時間還不知道。 反射的用途: (1)使用Assembly定義和載入程式集,載入在資訊清單中列出模組,以及從此程式集中尋找類型並建立該類型的執行個體。
Time of Update: 2018-12-07
一、SqlDataRead和Dataset的選擇 Sqldataread優點:讀取資料非常快。如果對返回的資料不需做大量處理的情況下,建議使用SqlDataReader,其效能要比datset好很多。缺點:直到資料讀完才可close掉於資料庫的串連 (SqlDataReader 讀資料是快速向前的。SqlDataReader 類提供了一種讀取從 SQL Server 資料庫檢索的只進資料流的方法。它使用 SQL Server
Time of Update: 2018-12-07
Asp.net的多層架構主要是為瞭解決資料層,邏輯層,展示層等之間的關係。我的做法是這樣的:首先建立一個DataCore的基類。基類裡面封裝了一些低層的資料庫的基本操作,比如說資料庫聯結,調用預存程序等等。在這裡面有一個地方值得注意,通過對一個函數的重載可以實現調用不同功能的預存程序。以下程式碼範例: protected int RunProcedure(string storedProcName, IDataParameter[] parameters, out
Time of Update: 2018-12-07
在ASP.Net項目中使用預存程序,首先可以提高資料庫的安全性,其次可以提高運行SQL代碼啟動並執行速度,在大型項目中一般是必不可少的。Visual Studio.Net為SQL的預存程序提供了強大的支援,您既可以通過visual studio.net來建立預存程序,也可以直接在Sql Server的查詢分析器中運行,還可以通過企業管理器建立,使用起來也非常方便。大家一直都誤認為SQL預存程序是一個比較“高深”的技術,其實掌握一般的文法是沒有什麼大問題的,而我們在使用儲存教程中也主要是增刪減的操
Time of Update: 2018-12-07
網站由於使用比較多的緩衝,有時會出現緩衝錯誤,導致程式異常,這個時候需要回收一個應用程式集區就可以了。 以前每次都是通過遠端桌面連線到伺服器,然後在應用程式集區上右擊》回收,感覺比較麻煩,於時找了如下的一個辦法來實現。 其實就是普通的一個asp.net頁面,加上一個按鈕,進行回收,主要程式如下: 複製 儲存protected void StartStopRecycleApp(string method){string AppPoolName =
Time of Update: 2018-12-07
BitVector32 結構只提供 32 位大小的儲存空間(同 Int32), 通過它可以快速存取布爾值或小整數(譬如 7 以內或 15 以內的小整數等等).主要成員:/* 屬性 */Data; //其 32 位值的整數表示, 唯讀; 可以通過它持久記錄 BitVector32 的狀態/* 靜態方法 */BitVector32.CreateMask(); //建立 MaskBitVector32.CreateSection(); //建立
Time of Update: 2018-12-07
常用成員:/* 屬性 */Count //唯讀Length //同 Count, 但可讀寫/* 方法 */And() //與Get() //取值Not() //取反Or() //或Set() //賦值SetAll() //全部設定為指定值Xor() //異或練習://(items)[]、Get()、Set()protected void Button1_Click(object sender, EventArgs e){ BitArray
Time of Update: 2018-12-07
ArrayList 是 .Net 的動態數組.主要成員:/* 靜態方法 */ArrayList.Adapter() //把其他 IList 對象封裝為 ArrayList 使用ArrayList.FixedSize() //封裝為固定容量ArrayList.ReadOnly() //封裝為唯讀ArrayList.Repeat() //根據指定次數的重複值建立 ArrayList/* 屬性 */Capacity //容量Count //元素數IsFixedSize /
Time of Update: 2018-12-07
通過 CollectionsUtil 建立或封裝的 "鍵/值對" 類(實現 IDictionary 的), 可以忽略 Key 的大小寫.主要成員:/* 靜態方法 */CollectionsUtil.CreateCaseInsensitiveHashtable(); //建立或封裝 Hashtable 等, 可初始化容量CollectionsUtil.CreateCaseInsensitiveSortedList(); //建立有序的雜湊表 SortedList建立忽略大小寫
Time of Update: 2018-12-07
TimeSpan 表示一個時間間隔, 如:protected void Button1_Click(object sender, EventArgs e){ DateTime dt1 = new DateTime(2010, 1, 2, 3, 4, 5); DateTime dt2 = new DateTime(2011, 6, 6, 6, 6, 6); TimeSpan ts = dt2 - dt1; TextBox1.Text = ts.ToString(); //5
Time of Update: 2018-12-07
使用 BitConverter 類的一組靜態方法可以把一個整數、浮點數、字元或布爾值轉換成一個 Byte[], 當然也可逆轉.主要成員:/* 欄位 */BitConverter.IsLittleEndian //布爾值, 表示當前系統的位元組順序, 在 Windows 下此值是 true/* 靜態方法 */BitConverter.GetBytes() //擷取指定參數的 Byte[], 參數類型可以是:
Time of Update: 2018-12-07
Queue(隊列)是先進先出的集合; Stack(堆棧)是後進先出的集合.Queue 的主要成員:/* 屬性 */Count //元素數/* 方法 */Clear() //清空Contains() //是否包含Dequeue() //出列Enqueue() //入列Peek() //擷取將要出列的Stack 的主要成員:/* 屬性 */Count ///* 方法 */Clear() //Contains() //Peek(
Time of Update: 2018-12-07
成員:/* 靜態方法 */Array.AsReadOnly() //封裝為唯讀(ReadOnlyCollection)Array.BinarySearch() //使用二分尋找法尋找, 須先排序Array.Clear() //Array.ConstrainedCopy() //約束複製Array.ConvertAll() //Array.Copy() //Array.CreateInstance()
Time of Update: 2018-12-07
SortedList 是能自動排序的 "Key/Value" 列表類(排序是依據 Key), 並能通過索引訪問元素.它像是 Hashtable(雜湊表)的升級, 它們的每個元素都是視為一個 DictionaryEntry(Key/Value) 結構體.正因為它比 Hashtable 多出了排序和索引, 所以效率不及 Hashtable.主要成員:/* 屬性 */Capacity; //容量Count; //元素數Keys;
Time of Update: 2018-12-07
錯誤資訊:回傳或回調參數無效。在配置中使用 <pages enableEventValidation="true"/> 或在頁面中使用 <%@ Page EnableEventValidation="true" %> 啟用了事件驗證。出於安全目的,此功能驗證回傳或回調事件的參數是否來源於最初呈現這些事件的伺服器控制項。如果資料有效並且是預期的,則使用 ClientScriptManager.RegisterForEventValidation
Time of Update: 2018-12-07
根據使用者需要,一個頁面中,有幾個不同的button,點擊不同的button,可在下方同一地區產生gridview,(當然他們的gridview是不同的)。之前用MultiView來控制,用了幾個view在html中綁定了幾個Gridview,然後根據點擊的按鈕不同,切換不同的view。但總覺得這種方式不爽~~,html代碼太多,控制起來很麻煩~! 於是就想到用這種動態方式實現。Html中只有一個div,用來放置產生的控制項,其他全部在後台實現。
Time of Update: 2018-12-07
以下就是在ASP.NET中檢測含有中文字串的實際長度,這個可能在很多地方都用的上. VB.NET的寫法: Function StrLength(Byval Str As String) As Integer Dim En As ASCIIEncoding=New ASCIIEncoding () Dim B As Byte()=En.GetBytes(Str) Dim i As Integer=0 Dim Length As Integer=0
Time of Update: 2018-12-07
Asp.Net 請求處理機制 前言我們都知道Web請求響應是基於Http協議,那麼我們可以這樣來理解,一次Web請求和響應的過程,實際上就是一次發送Http請求和接收Http響應的過程。用戶端向伺服器發送一次Http請求,伺服器端接收到這次請求,並產生響應報文,將響應報文發送回用戶端。這樣用戶端和伺服器端就完成了一次Web互動。 什麼是Asp.Net呢?我喜歡把Asp.Net定義如:Asp.Net 是一個運行在CLR的Managed