其實我們通常遇到的請求方式無非get/post,但是有很多Web開發人員仍然對二者分不清。get即通過URL中的QueryString向伺服器端傳值的方式,它的資料是可見的,可post則是通 過一個postdata包向伺服器傳值,post方式可以傳送更多資料(如上傳檔案),也更安全(如登入 )。本文將示範各種通過用戶端頁面(即最終產生的頁面)向Controller提交請求以及在 Controller中接受的方式。約定本文所有的樣本都將是示範一個登入過程,但並不
凡事出現必有原因就像Filter,它是為瞭解決在一類的Action之前或之後執行統一的代碼而產生的。而Helper則是為了方便View的開發而產生的。下面我們來解決幾個問題,來看看Helper是怎麼演化出來的。起題目:如何在View中寫一個超級串連串連到首頁?這個問題看起來很好回答:<a href="/home/index">首頁</a>承其實上面這種不能稱之為方案的寫法其實是最好的,沒有調用任何的方法,僅用純的HTML就解
這節講 一下ASP.NET MVC中的Helper。何謂Helper,其實就是在View中為了實現一些靈活功能而寫的方法組。其實ASP.NET MVC的View是Aspx的頁面,本身可以聲明定義方法,那為什麼要有Helper呢?其實無非是將介面與邏輯分離,而且Asp.net MVC也並不只支援Aspx一種View(還可以擴充出來
一、ViewData與TempData屬性來向View頁傳遞對象上文中已經提到,使用ViewData可以 將資料由Controller傳遞到View在前文中我們建立了EiceController類在本文的示 例中我們將這個Controller改一下public class EiceController : Controller{public ActionResult Index(){ViewData
這節我們讓ASP.NET MVC真正的跑起來一、建立Controller首先我們自己建立一 個新的Controller在Controllers上點右鍵,添加,Controller選項 之後出現一個對話方塊: 這裡我們將 之起名為EiceController附註一下,這裡是個純廣告,沒有興趣可略過此行:www.eice.com.cn 為您建立Web2.0社交網站預設產生的程式碼如下://記不記得前面講過的,所有
從前寫過一系列的ASP.NET MVC教程,ASP.NET MVC在這之後曆經5個preview版本終於到今天的 RC版本,而且不久就要正式推出正式版本,所以值此之際,重典也重新修正這一系列的教程,使之 與時俱進。因為最初的一篇是寫自2008年3月10日(Asp.net Mvc Framework 系列),回頭 看看已經足足一年了,所以本系列修正版本的教程就叫做ASP.NET MVC重典教程一周年版。現在重開本文:一、前ASP.NET MVC時代的故事ASP.NET MVC是微軟推出的基於
本章內容2.1 預置程式碼範例2.2 調試頁面服務端代碼2.3 伺服器控制項的調試2.4 JavaScript 指令碼調試方法2.5 Ajax Library 對JavaScript調試支援2.1 預置程式碼範例熟悉ASP.NET 開發的讀者朋友可能對於伺服器控制項的調試技術更容易上手,不過如果您剛剛接 觸ASP.NET 也沒關係,本章會從最基本的調試開始講解。在調試之前,要先建立一個調試控制項的項目環境。關於如何建立環境在這裡就不講了,第1 章 已經講得非常詳細了。首先在Web
4.7 實現自訂屬性在本章前面的章節中我們實現的許多功能都是藉助於系統提供的設計時中繼資料屬性支援實現的 ,如:顯示內容描述資訊的Description 屬性[Description("描述文本")]指定屬性在屬性視窗中類別的Category 設計屬性[Category(" 屬性視窗中的類別名稱")]指定屬性編輯器的Editor
4.5.2.2 定製模態屬性編輯器這一節我們學習定製另一種屬性編輯器:模態編輯器,在此編輯器中單擊一個按鈕將彈出一個 表單,從表單選擇資料後會把值返回到屬性視窗中。最重要的一點是我們可以自訂此選擇資料的 模態視窗內容,比上面的集合編輯器更靈活。還是先看一下效果圖,如圖4-20 所示。圖4-20 模態屬性編輯器上圖是以一個表示選擇食品(水果/ 肉類/ 蔬菜等)的屬性為例而定製的一個模態選擇視窗, 單擊屬性旁邊的“… ”按鈕就會彈出圖中左側的模態資料選擇視窗。
4.4.3.2 使用ControlBuilder解析 複雜內容通過 System.Web.UI.ControlBuilder 類定製頁面解析邏輯,可以定製任意類型的標記,而不 像重寫AddParseSubObject 方法那樣限定子標記必須是子控制項,且必須有首碼和runat 屬性,下面 直接通過一個例子來說明一下此類的用法。首先建立兩個檔案 ScriptItem.cs 和ScriptItemCollection.cs ,分別定義ScriptItem 類和
本章內容4.1 控制項屬性的作用4.2 簡單屬性4.3 屬性的設計時特性4.4 複雜屬性4.5 深入研究——定製自己的屬性編輯器4.6 類型轉換器4.7 實現自訂屬性4.1 控制項屬性的作用屬性、方法和事件是控制項使用者與控制項互動的介面。本節主要介紹控制項屬性。屬性分為系統屬 性和自訂的屬性。
TextBoxHeight屬性主要用來設定顯示值的子控制項TextBox的高度。與LabelHeight功能相似。/// <summary>/// 獲得本書更多內容,請看:/// http://blog.csdn.net/ChengKing/archive/2008/08/18/2792440.aspx/// </summary>private Unit unitTextBoxHeight = Unit.Empty;[Category("LabelTextBox
回到MvcHandler的 ProcessRequest , DefaultControllerFactory.CreateController(RequestContext, requiredString) 來返回 IController 執行個體。下面看看 DefaultControllerFactory的代碼:通過反射來建立 Controller 執行個體 ,GetControllerType 裡面做了些緩衝處理,以此來避免頻繁使用反射造成的性
做ASP.NET WebForm開發都知道,ASP.NET有複雜的生命週期,學習ASP.NET MVC就要深入理解它的生命週期。今天從CodePlex上下載了ASP.NET Preview 2 的 原始碼,還有兩個程式集Routing與Abstractions並未發布,不過這兩個程式集的 類並不多,可以用NET反編譯工具 Reflector解開來看看,可惜這兩個程式集用的 是VS2008使用.net 3.5開發的,用了c# 3.0的很多特性,Reflector反編譯不完全 。ASP.NET
其實這是一篇遲發布近2個月的文章。事實上在ASP.NET MVC Preview 2發布之 前我就已經將這篇文章的所有內容準備完畢了。當時想,就等Preview 2發布吧, 而真一旦Preview 2發布之後卻又懶得進行移植——移植了之後卻又懶 得寫文章。這一拖就是近2個月,毫無長進。可能工作等其他事情的確多了些,但 是捫心自問,也並沒有忙到不可開交。時間往往都是在點點滴滴間浪費的。唉, 可能是自視太高,越來越不願意寫一些普普通通的介紹性文章,導致可寫的東西
請注意,類庫AjaxMVC中提供的函數實現了一些基本的AJAX功能,例如不依賴於頁面回寄的局部更新以及關聯到DOM元素的類似於ASP.NET AJAX架構中行為(Behavior)的擴充。實際上,最新的ASP.NET MVC架構版本(Preview 4)中就已經提供了現成的Ajax支援功能。所以,你可以把這裡提供的功能作為早期ASP.NET
5.3.3 複合控制項的事件處理複合控制項的事件處理按實現功能可分為三種:(1)複合控制項中子控制項的內部事件處理。(2)包含處理機制 -- 子控制項事件中調用主控制項委託的事件執行個體。(3)冒泡處理機制。接下來的三節就分別說明這三種事件處理方式機制是如何?的。5.3.3.1
5.2.4 正確處理繼承基類中控制項的事件在5.2.3.3節中講的KingTextBox事件中,定義事件的功能語句如下:/// <summary>/// 獲得本書更多內容,請看:/// http://blog.csdn.net/ChengKing/archive/2008/08/18/2792440.aspx/// </summary>public virtual void RaisePostDataChangedEvent(){
看到AnyTao和TerryLee分享的關於ASP.NET MVC使用和最佳化的技巧,不免手癢,也分享一下這一年多來ASP.NET MVC開發的積累。其 中未必是一些高效的技巧,但是的確是能解決問題,也未必有什麼高深的原理,只是我覺得值得分享。1.Controller來控制HTML的 Title我想大部分朋友都有在Controller裡面指定Html頁面Title的需求。我習慣於先寫使用的代碼再去完善其實現,而指定一 個Title最方便的形式莫過於:1: public ActionResult
基於項目需要,針對ASP.net伺服器控制項TextBox進行改造,使其增加字串輸入提示功能,在控制項獲得焦點時,與普通的伺服器端 TextBox 控制項相同,支援資料輸入。當控制項失去焦點並且文字框內容為空白時,顯示預定義的提示文本。使用者輸入“預定義的提示文本”為常值內容時,