您的位置:首页 > 编程语言 > ASP

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

2009-05-30 12:52 731 查看
本示例程序演示如何采用 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 次.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: