导读:MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序。那么什么是MVC?MVC由三部分组成:Model(模型)、View(视图)及Controller(控制器)。
下面来实现Customer Controller的Edit方法。在CustomerController.cs中添加如下代码:
复制代码代码如下:
-
- public void Edit(string id)
- {
- Northwind.Models.NorthwindDataContext dc = new Northwind.Models.NorthwindDataContext();
- Customer c = dc.Customers.Single(cus => cus.CustomerID == id);//从数据库中取出参数id所对应的的一个Customer记录
-
- RenderView("Edit", c);//返回Edit View
-
【代码5】:CustomerController.cs中的Edit方法
相应的在项目中的View/Customer/文件夹下,添加Edit View Edit.aspx:
复制代码代码如下:
-
- public partial class Edit : ViewPage<Northwind.Models.Customer>
- {
- }
【代码6】:Edit.aspx.cs
复制代码代码如下:
-
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Edit.aspx.cs" Inherits="Northwind.Views.Customer.Edit" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title></title>
- </head>
- <body>
- <!—下面的 html form 将用户的输入提交到Customer Contoller的Update方法 -->
- <%using( Html.Form<Northwind.Controllers.CustomerController>(cc=>cc.Update(ViewData.CustomerID))){ %>
- <div>
- Customer ID: <%= ViewData.CustomerID %> <br />
- Company Nmae: <%= Html.TextBox("Customer.CompanyName", ViewData.CompanyName) %> <br />
- Contact Name: <%= Html.TextBox("Customer.ContactName",ViewData.ContactName) %><br />
- Contact Title: <%= Html.TextBox("Customer.ContactTitle",ViewData.ContactTitle) %>
- </div>
- <%= Html.SubmitButton("Save") %>
- <%} %>
- </body>
- </html>
【代码7】:Edit.aspx
代码7中使用了MVC框架中的一个帮助类Html。此类可以生产View中常用的界面元素,例如 html form,文本输入框等。
下面来实现CustomerController的Update方法:
复制代码代码如下:
-
- public void Update(string id)
- {
- Northwind.Models.NorthwindDataContext dc = new NorthwindDataContext();
- //从数据库中取出参数id所对应的的一个Customer记录:
- Customer cust = dc.Customers.Single(c => c.CustomerID == id);
- //将Edit View中的用户的更改赋值到cust对象:
- BindingHelperExtensions.UpdateFrom(cust, Request.Form);
- dc.SubmitChanges();
- RedirectToAction("Index");//跳转到Index View
- }
-
【代码8】:CustomerController.cs中的Update方法
上面的代码通过ASP.NET MVC框架实现了Customer的列表、编辑及更新功能,可以看出MVC将应用程序的Model、View及Controller三部分"优雅的"分离,真正实现了高内聚、低耦合的灵活架构,大大降低了程序的复杂性,提高了可扩展性及可重用性。这一框架对Web开发带来的影响不仅是是技术上的变化,更是Web程序设计思想的变化 -- Web程序不再是一些列功能页面的集合,而是又Controller控制的功能单元的集合,Web程序更像是一组通过其URL对外开放的"API"。
详细出处参考:http://www.jb51.net/article/48589.htm