1、MVC的定义:

MVC(Model-View-Controller,模型-视图-控制器)是用于将应用程序粉好吃呢过如下3个主要方面的体系结构模式:

模型(Model):一组类和业务规则,类用于描述正在处理的数据,业务规则用于说明如何修改和操纵这些数据。

视图(View):应用程序的用户界面(UI)。

控制器(Controller):一组类,用于处理来自用户,整个应用程序流以及特定应用程序逻辑的通信。运行时,默认运行HomeControllers.

该模式常用于Web编程。

2、约定胜于配置

本质是指:当我们知道如何创建应用程序,把该经验应用到架构中,这样就不用在配置所有的内容了。

查看是应用程序运行的如下3个核心目录,我们可以看到这个思想在ASP.NETMVC中的应用情况:

(1)Controllers控制器:

(2)Models

(3)Views

3、思路:

首先,客户面对的是Control层

每个控制器对应一个文件夹,每个视图对应一个页面

控制器调用模板,再返回到控制器

4、各个写法的区别:

<%# Eval("数据绑定的一列数据") %>
<%=动态数据(一条数据) %>

<% 输入某一段代码%>

不需要再web.config文件中设置这些文件夹的名称——只需要按照约定将它们放在期望的位置即可。

第一步:新建——项目:选择“框架环境4.5版本”

项目建立完成后,就会发现项目资源管理器中出现:

第二步:Controllers右键,添加“控制器类”,也可以使用快捷键(Ctrl+M,Ctrl+C),

控制器名称可以更改,但Controller不可以更改(约定胜于配置),选择空模板(建议使用)。

第三步:在Models层添加类(写增删改查方法)和Linq to SQL类

第四步:Models层(数据访问层):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MvcApplication1.Models
{
public partial class bumen
{
private DataClasses1DataContext _Context = new DataClasses1DataContext();
//查询数据库表
public List<bumen> Select()
{
// List<bumen> list = new List<bumen>();
var query = _Context.bumen.ToList();
return query.ToList();
}
//按主键查询
public bumen Select(int id)
{
// List<bumen> list = new List<bumen>();
var query = _Context.bumen.Where(p=>p.code==id);
if (query.Count() > )
{
return query.First();
}
else
{
return null;
}
}
//按照主键删除
public void Delete(int id)
{
var query = _Context.bumen.Where(p=>p.code==id);
if(query.Count()>)
{
bumen bm = query.First();
_Context.bumen.DeleteOnSubmit(bm);
_Context.SubmitChanges();
}
}
}
}
第五步:HomeControllers层(用户面对的是控制层):

using MvcApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication1.Controllers
{
//MVC默认执行Home控制器
public class HomeController : Controller
{
//控制器默认先走Home,而不是其他控制器
//约定优于配置
public ActionResult Index()
{
//把数据从Model层找出
//需要引用Models层的命名空间
List<bumen> list = new bumen().Select();
//再把数据传到view
ViewData["list"] = list;
//返回view给客户
return View();
}
public ActionResult Delete(int id)
{
new bumen().Delete(id);
return RedirectToAction("Index");
}
}
}

第六步:Views层(界面模板):

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@import Namespace="MvcApplication1.Models" %>>//引用Models层的命名空间
<!DOCTYPE html> <html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<style type="text/css">//设置表头和行数据的格式
.head {
background-color:navy;
color:white;
font-weight:bold;
text-align:center;
}
.item {
background-color:#e0e0e0;
color:black;
text-align:center;
} </style>
</head>
<body>
<div>
<table width="100%" border="" cellpadding="" cellspacing="" bgcolor="black">
<%-- 表头 --%>
<tr class="head">
<td>姓名</td>
<td>职能</td>
<td>CEO</td>
<td>操作</td>
</tr>
<%-- 行数据 --%>
<%
List<bumen> list = ViewData["list"] as List<bumen>;
foreach(bumen data in list) { %>
<tr class="head">
<td><%=data.name %></td>
<td><%=data.zhineng %></td>
<td><%=data.ceo %></td>
<td><a href="Home/Delete?id=<%=data.code %>">删除</a></td>
</tr>
<%} %>
</table>
</div>
</body>
</html>

查询显示:

删除操作(一行):【以管理部--负责运营管理和调控--红烧肉】为例:

注意:Controllers默认执行HomeController,如果当前执行的不是HomeController,而是直接DemoController,那么浏览器会直接弹出:

这时,需要将Demo文件夹及Demo下的Index(Action)写上,然后跳转页面即可。

最新文章

  1. ps你最容易忽略的知识
  2. POJ2186
  3. KVC/KVO简单实例代码
  4. js-原型以及继承小案例
  5. 利用getHibernateTemplate实现简单的操作
  6. UML视图(九)部署图
  7. 在vs2010中mfc,C++的一些小经验
  8. 关于webapp的一个webframe问题
  9. ORACLE CASE函数 .
  10. Android 天天爱消除辅助
  11. 记忆化搜索 dp学习~2
  12. Java数据持久层框架 MyBatis之API学习四(xml配置文件详解)
  13. &#129516; C# 神经网络计算库和问题求解
  14. NGINX 502错误排查(转)
  15. CentOS6.5内核编译
  16. 查看SQL Server的版本及License
  17. 检测当前运行环境对es6的支持
  18. Thrift的一些概念
  19. 何凯文每日一句打卡||DAY4
  20. 每日英语:China Underwhelmed After First Apple Event

热门文章

  1. sudo 运行 npm或node时,出现找不到命令
  2. Java [Leetcode 384]Shuffle an Array
  3. BZOJ3887 [Usaco2015 Jan] Grass Cownoisseur 【tarjan】【DP】*
  4. 快速学习MD5的方法
  5. cv.Mat 与 .txt 文件数据的读写操作
  6. E519: Option not supported: fileencodings
  7. c++调用fortran程序中遇到的问题
  8. nginx 获取请求头,URL参数
  9. jsTree 是一个基于Javascript,支持多浏览器的Tree view jQuery插件。
  10. 3.JMeter添加集合点