Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版開發樣本示範(提供源碼下載)

來源:互聯網
上載者:User

本樣本程式示範如何採用 Microsoft ASP.NET MVC Preview 5 和 LINQ TO SQL 開發 Web Application。

1. ASP.NET MVC 簡介

ASP.NET MVC架構是既ASP.NET WebForms後的又一種開發方式。它提供了一系列優秀特性,使ASP.NET開發人員擁有了另一個選擇。MVC是個將一個應用的實現分成三個組件角色的架構技術:模型,視圖和控制器。

在基於MVC的應用裡,Model(模型)是負責保持狀態的應用組件。這個狀態通常都持久於資料庫之中。

在基於MVC的應用裡,View(視圖)是負責顯示使用者介面的組件。這個UI通常是使用模型Model資料來建立的。

在基於MVC的應用裡,Controller(控制器)是處理使用者互動,操作模型Model和最終選擇用哪個視圖View來顯示UI的組件。在MVC應用中,視圖只是用來顯示資訊而已,是控制器來處理和回應使用者的輸入和互動的。

使用MVC方法的一個好處是,它有助於促進應用中模型,視圖,控制器間的關注的清晰分離。保持關注的清晰分離使得對應用的測試極其容易,因為不同應用組件間的契約的定義和表達是更明確的。

2. MVC 和 LINQ TO SQL 示範程式

下面是EntLib.com 論壇小組(http://forum.EntLib.com )針對 Microsoft ASP.NET MVC 架構最新版(Preview 5) 設計的一個簡單樣本程式。樣本程式基於EntLib.com Forum 資料庫示範,可以非常方便切換到其他資料庫。

如下是樣本程式的運行效果介面:

3. 構建基於LINQ TO SQL 的Model

下面是樣本項目來源程式:

其中Model部分,採用LINQ TO SQL 建立,樣本程式採用EntLib.com Forum 資料庫,添加了四個表,操作介面如下:

4. 建立EntLibForumController 控制器

EntLibForumController 類首先增加一個先前建立的Model – EntLibForumDataContext,然後編寫檢索論壇、主題和文章內容的方法。具體代碼如下 – 採用LINQ TO Object 技術:

    public class EntLibForumController : Controller

    {

        private EntLibForumDataContext m_Forum = new EntLibForumDataContext();

        public ActionResult Index()

        {

            // Add action logic here

            throw new NotImplementedException();

        }

        public ActionResult Forums()

        {

            ViewData["Forums"] = DataContext.yaf_Forums.ToList();

            return View();

        }

        public ActionResult Topics(int id)

        {

            ViewData["Topics"] = DataContext.yaf_Topics.Where(a => a.ForumID == id).ToList();

            return View();

        }

        public ActionResult Messages(int id)

        {

            ViewData["Messages"] = DataContext.yaf_Messages.Where(a => a.TopicID == id).ToList();

            return View();

        }

        #region Properties

        private EntLibForumDataContext DataContext

        {

            get { return m_Forum; }

        }

        #endregion

    }

5. 建立UI 視圖

建立UI View 比較簡單,在建立UI View時,選擇MVC View Content Page,Master Page 選擇Shared 目錄下的Site.Master 檔案。

下面是Forums.aspx 頁面的UI 及其代碼:

    public partial class Forums : ViewPage

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            grdForum.DataSource = (List<yaf_Forum>)ViewData["Forums"];

            grdForum.DataBind();

        }

    }

歡迎訪問http://forum.entlib.com 開源ASP.NET論壇,擷取更多的.Net 技術資料和系統架構設計文檔,更有很多技術專家的知識共用。

附件:
MVC_Demo_EntLib.zip 548 KB, 下載 1,624 次.

相關文章

聯繫我們

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