為ASP.NET MVC架構添加AJAX支援

來源:互聯網
上載者:User

一、引言

本文中,我們將向你展示如何在基於ASP.NET MVC架構構建 的ASP.NET應用程式中添加一些基本的Ajax特徵(例如局部更新及行為組件等概念 )。

【說明】本文向你提供了有關於ASP.NET MVC架構的完整應用源碼及 測試樣本。在本文方案中,共有兩個工程:一個是TaskList(Web應用程式), 另一個是AjaxMVC(一個提供了擴充的Ajax支援的類庫)。請注意,類庫AjaxMVC 中提供的函數實現了一些基本的Ajax功能,例如不依賴於頁面回寄的局部更新以 及關聯到DOM元素的類似於ASP.NET AJAX架構中行為(Behavior)的擴充。實際 上,最新的ASP.NET MVC架構版本(Preview 4)中就已經提供了現成的Ajax支援 功能。所以,你可以把這裡提供的功能作為早期ASP.NET MVC架構版本的實驗品 學習。

二、構建簡單工作清單樣本程式

為了簡化問題的表面而專 注於討論本文的主題,本文中提供了一個基本的工作清單案例應用程式。儘管此 程式非常簡單,但是它卻讓我們專註於討論我們更感興趣的Ajax特徵。下面給出 了本文應用程式範例的一個運行時刻快照。

有關MVC架構的經典入門級教程,請讀者參考Scott Guthrie的部落格 (http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc- framework-part-1.aspx)。我們不想在此重複這些內容,但是就像Scott Guthrie提供的產品目錄應用程式一樣,本文中提供的這個TaskList應用程式使 用一個控制器來處理來自用戶端的請求,使用一組類形成模型,用於描述一個任 務項的集合,還有一組視圖用於產生使用者介面。

首先,在開始為樣本添 加一些Ajax功能之前,我們來分析本文應用程式範例的基本組成。

(一 )模型

我們先來分析一下本樣本的模型部分,主要由下面兩部分組成:

public class Task {
public int ID { get; }
public bool IsComplete { get; set; }
public string Name { get; set; }
}
public interface ITaskDB {
Task AddTask(string name);
void CompleteTask(Task task);
Task GetTask(int taskID);
ICollection<Task> GetTasks();
void RemoveTask(Task task);
}

這裡的代碼沒有多少意思。但 要注意的是,在本例中,為了簡化問題起見,我直接使用了一個記憶體中的資料集 來類比工作清單資料(而沒有使用資料庫樣本)。

另外,需要一提的是 ,這裡使用了介面(ITaskDB)的方法,以方便添加測試代碼(後面討論)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.