Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)

本示例程序演示如何采用 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 技术资料和系统架构设计文档,更有很多技术专家的知识共享。

你可能感兴趣的:(sql,数据库,mvc,Microsoft,asp.net,LINQ)