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)写上,然后跳转页面即可。

03-23 MVC框架(以查询、删除为例)的更多相关文章

  1. 用mvc框架查询数据库数据

    介绍下mvc框架,mvc框架一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. 首先我们 ...

  2. Java MVC框架性能比较

    Java MVC框架性能比较 - by zvane 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框 ...

  3. dya49:django:wsgrief&模板渲染Jinjia2&django的MTV/MVC框架&创建/启动一个django项目

    目录 1.自定义web框架wsgiref版 2.自定义web框架wsgiref版-优化版 3.模板渲染JinJa2 4.MTV和MVC框架 5.django:下载安装&创建启动 自定义web框 ...

  4. 编写自己的PHP MVC框架笔记

    1.MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). ...

  5. 产品前端重构(TypeScript、MVC框架设计)

    最近两周完成了对公司某一产品的前端重构,本文记录重构的主要思路及相关的设计内容. 公司期望把某一管理类信息系统从项目代码中抽取.重构为一个可复用的产品.该系统的前端是基于 ExtJs 5 进行构造的, ...

  6. JavaScript客户端MVC 框架综述

    简介 15 年前,许多人都使用 Perl 和 ColdFusion 之类的工具构建网站.我们经常编写可以在页面顶部查询数据库的脚本,对数据应用必要的转换,以及在同一个脚本底部显示数据.这类架构适合于向 ...

  7. PHP: 手把手编写自己的 MVC 框架实例教程

    1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  8. 通过Ruby On Rails 框架来更好的理解MVC框架

    通过Ruby On Rails 框架来更好的理解MVC框架   1.背景    因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...

  9. MVC框架模式技术实例(用到隐藏帧、json、仿Ajax、Dom4j、jstl、el等)

    前言: 刚刚学完了MVC,根据自己的感悟和理解写了一个小项目. 完全按照MVC模式,后面有一个MVC的理解示意图. 用MVC模式重新完成了联系人的管理系统: 用户需求: 多用户系统,提供用户注册.登录 ...

  10. BrnShop开源网上商城第二讲:ASP.NET MVC框架

    在团队设计BrnShop的web项目之初,我们碰到了两个问题,第一个是数据的复用和传递,第二个是大mvc框架和小mvc框架的选择.下面我依次来说明下. 首先是数据的复用和传递:对于BrnShop的每一 ...

随机推荐

  1. vue中axios的深入使用

    如上所示一条简单的请求数据,用到了vue中axios,promise,qs等等 这里我将vue中用到的axios进行了封装方便日后使用  先对工具类进行封装utils/axios.js: // 引入模 ...

  2. MySQL存储引擎(engine:处理表的处理器)

    1.基本的操作命令: 1.查看所有存储引擎 show engines: 2.查看已有表的存储引擎: show create table 表名: 3.创建表指定的存储引擎 create table 表名 ...

  3. sqlserver获取代理服务作业job的执行情况

    以下脚本为获取sqlserver的执行job with testtemp as( SELECT sch.job_id,--his.[server] as InstanceName CONVERT(nv ...

  4. HDU - 6521 Party (SYSU校赛K题)(线段树)

    题目链接 题意:n个人排成一列,一开始他们互不认识,每次选[l,r]上的人开party,使他们互相认识,求出每次party之后新互相认识的人的对数. 思路:把“互相认识”变成单向连边,只考虑左边的人对 ...

  5. CODEVS3013 单词背诵 【Hash】【MAP】

    CODEVS3013 单词背诵 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要 ...

  6. 《DSP using MATLAB》示例Example 8.6

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  7. python嵌入c++

    1.去主页下载源代码项目 2.编译下载下来的项目 3.新建项目填入下面代码 // pythonIncludeTest.cpp : 定义控制台应用程序的入口点. // #include "st ...

  8. as3 阻止后续侦听器

    public class Test1 extends Sprite { private var spr:Sprite; private var spr2:Sprite; public function ...

  9. c++封装继承多态

    面向对象的三个基本特征 封装.继承.多态.其中,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了——代码重用.而多态则是为了实现另一个目的——接口重用 封装 ...

  10. 笔记:使用 stylus stylus-loader

    笔记:使用 stylus stylus-loader 安装 stylus Stylus-loader cnpm i stylus stylus-loader --save 配置 webpack.con ...