快速上手之 MVC入门实例

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

快速上手。今天我们来从无到有创建mvc项目,介绍一下相关的知识点。咱们开门见山。我做的简单的demo 是最基本的,具体项目中还会根据具体的业务做不同的选项。但是不影响我们明白原理和理解过程。

demo 通过MVC 这个小项目 实现界面显示文字。

一添加controller

打开VS 新建项目。我选的mvc4

新建好之后 是下图这个样子。1我们看它自动的就已经生成了Models Views Controllers这三个文件夹。也就是我们所说的MVC。

接下来 我们建立控制器。 右击controllers,添加--控制器。

注意 后缀名controller不能改,可以根据自己的需要更改选中的蓝色部分。

知识点:此时我们看到的新建立好的控制器类和普通的类不一样 它是继承了controller。当我们查看该controller时 发现了它的物理路径在我们新建项目的文件夹中,也就是说明这是自动添加的,并且已经自动引用了。

2 同时自动生成的还有一个Action方法。它用来处理业务和操作数据库。

二 在model中新建类 代码如下。

三添加view

在代码中 右键自己新建的defaultcontroller类。添加视图。默认视图名字和自己的controller类的名字是相同的 不用改。

知识点:建立好了之后 ,你会发现视图自动的添加到了views文件夹下面。一个controller里的action 可以对应一个视图。

四代码部分

有了controller model views这三个新建类之后,在controller中添加相应代码如下。

重点是我要把在controller中的值传到view中 是如何做到的呢。

①使用ViewBag得到controller中要传的内容。

using MvcDemo.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcDemo.Controllers
{
    public class TestController : Controller
    {
        //创建一个数据集合(假数据)
        // GET: /Test/

        /// <summary>
        /// 初始化数据集合
        /// </summary>
        public List<Models.apple> InitData()
        {
            List<Models.apple> list = new List<Models.apple>(){
                new apple(){ID=1,Name="红苹果"},
                new apple(){ID=2,Name="青苹果"}

            };
            return list;
        }

        /// <summary>
        /// action 方法
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000);
            //处理当前业务 比如读取数据库 判断等
            //创建一个数据集合 (伪数据)
            List<Models.apple> list = InitData();

            //遍历集合 生成HTML代码 存入sbHtml
            list.ForEach(d =>
            {
                sbHtml.AppendLine("<div>"+d.ToString()+"</div>");
            });

            //使用ViewBag传输给同名 index cshtml视图
            //viewBag是一个dynamic 类型的集合 可以动态添加任意类型的任意名称的属性和值
            ViewBag.HtmlStr = sbHtml.ToString();
            return View();
        }

    }
}

②在view中 直接添加语句如下。即可。

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <!--相当于把action方法中保存的内容放在此处输出-->
     @ViewBag.HtmlStr
    </div>
</body>
</html>

此时我们可以右键Index右键 在page inspector中查看效果。

总结:要一遍敲代码 一边思考。敲而不思则罔 思而不敲则殆。

时间: 12-28

快速上手之 MVC入门实例的相关文章

Spring MVC入门实例

1.web.xml配置 <?xml version="1.0" encoding="UTF-8"? > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

Power BI教程_Power BI数据分析快速上手及案例实战

Power BI数据分析快速上手及案例实战 课程学习地址:http://www.xuetuwuyou.com/course/194 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本课程在<Power BI 数据分析快速上手>基础上结合大量的实例,深入讲解PowerBI中看似难懂的各种概念.操作, 并结合行业中的典型案例贯穿了从初级的数据透视表工具.数据透视表选项.数据透视表的刷新.数据透视表中的排序,到中级的动 态数据透视表的创建.数据透视表函数 GETPI

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

React 入门实例教程

React 入门实例教程 作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 由于 React 的

Masonry介绍与使用实践:快速上手Autolayout

以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autoresizingMask派上了用场(为啥这时候不用Autolayout? 因为还要支持ios5呗) 简单

Solr基础理论与维护管理快速上手(含查询参数说明)

1. solr基础 因为 Solr 包装并扩展了 Lucene,所以它们使用很多相同的术语.更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引. 在 Solr 和 Lucene 中,使用一个或多个 Document 来构建索引.Document 包括一个或多个 Field.Field 包括名称.内容以及告诉 Solr 如何处理内容的元数据.例如,Fi

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附详细代码] 标签: SparkECLIPSEJAVAMAVENwindows 2016-06-18 22:35 405人阅读 评论(0) 收藏 举报  分类: spark(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 本文旨在记录初学Spark时,根据官网快速

【React】入门实例

React 可以灵活的应用在各种各样的项目中.你可以用它来创建新的应用程序,你也可以逐步引用而不改变现有的代码库. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了. 你可以直接访问 官方文档,从怎么安装React开始学习,也可以看看 React 入门实例教程 这篇文章,笔者就是通过这篇文章入门的. 言归正传,你可