.NET Web开发之.NET MVC框架介绍(3)

    
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方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjzfpy.html