zoukankan      html  css  js  c++  java
  • MVC从新手到入门(一)----MVC项目搭建及简单的查询

    一、MVC简介

    MVC 是三种 ASP.NET 编程模式中的一种。

    MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

    • Model(模型)表示应用程序核心(比如数据库记录列表)。
    • View(视图)显示数据(数据库记录)。
    • Controller(控制器)处理输入(写入数据库记录)。

    MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

    二、快速搭建MVC(请使用Visual Studio 2015以上版本)

    1、项目创建(我是用的Visual Studio 2019)

    创建的时候选择MVC项目

     项目创建之后我们来看一下MVC应用程序的目录结构,

     这样我们的MVC项目就创建好了。

    二、具体内容的实现

    我们用DB First的方式来呈现

    首先是数据库部分,我要做的是一个健康医疗管理系统,数据库结构是这样的

     我们以科室表(Departments)为例

    1、在Model中添加类

        public class Department
        {
            [Key]
            public int deptID { get; set; }
    
            public string D_Name { get; set; }
    
            public string D_Desc { get; set; }
    
        }

    2、在配置文件(Web.config)中添加数据库连接字符串

    注意:name="上下文类名"

        <connectionStrings>
            <add name="CuseDBContext" connectionString="Data Source=.;Initial Catalog=CuseDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
            
        </connectionStrings>

    3、在Model中做数据库的映射(上下文类的创建)

    public class CuseDBContext:DbContext
        {
            public DbSet<Department> departments { get; set; }
        }

    4、在Controllers中添加控制器,这里我们选择添加一个空的控制器,控制器名字注意以Controller结尾,如:(DepartmentsController)

      

    5、右键控制器Index位置,为控制器添加视图

     

    视图添加后会在Views层自动生成这样的目录,这个后缀名为.cshtml的就是我们的视图页了。

    6、在后台Index方法中获取departments表的值,并传递给视图(View)

      CuseDBContext db = new CuseDBContext();
            // GET: Departments
            public ActionResult Index()
            {
                var list = db.departments.ToList();
    
                return View(list);
            }

    7、在视图页编写HTML代码,

    @model IEnumerable<HPIT.MVC7_27PM.Models.Department> 的主要作用是接收控制器中传递过来的值

    @model IEnumerable<HPIT.MVC7_27PM.Models.Department>
    @{
        ViewBag.Title = "Index";//标题
        //Layout = null; //不适用母版页
    }
    
    <h2>Index</h2><table align="center" class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(m => m.deptID)
            </th>
            <th>
                @Html.DisplayNameFor(m => m.D_Name)
            </th>
            <th>
                @Html.DisplayNameFor(m => m.D_Desc)
            </th>
        </tr>
    
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(m=>item.deptID)
                </td>
                <td>
                    @Html.DisplayFor(m => item.D_Name)
                </td>
                <td>
                    @Html.DisplayFor(m => item.D_Desc)
                </td>
            </tr>
        }
    </table>

    这样我们就完成了页面数据加载的工作啦~,运行效果如下:

    出现上面的效果说明我们项目已经跑通了,接下来我们再来完成一个小小的功能吧。

    三、MVC项目简单的查询实现

    我们以查询科室名称为例

    1、在控制器中添加带参数的ActionResult方法,因为我们要查询的是科目,所以参数中的d_Name指的是科目名称。

    string d_Name = ""的写法是为了避免出现d_Name为空的情况。
     [HttpPost]
            public ActionResult Index(string d_Name = "")
            {
                var list = db.departments.Where(m => m.D_Name.Contains(d_Name)).ToList();
    
                return View(list);
            }

    2、在View层添加如下视图页面代码

    @*Form表单的另一种写法*@
    @using (Html.BeginForm())
    {
        <table align="center" class="table">
            <tr>
                <td>科室名称:</td>
                @*@Html主要用来呈现HTML元素,也可以直接写HTML代码*@
                <td>@Html.Editor("D_Name")</td>
                <td>
                    <input type="submit" value="查询" class="btn btn-primary" />
                </td>
            </tr>
        </table>
    
    }

    查询功能也完成啦~,运行效果如下:

    -----------------------------------------------------------------------------------------------------------

    你学会了吗?

  • 相关阅读:
    Spring基础知识点总结
    秒懂设计模式--代理模式(proxy)
    秒懂设计模式--工厂模式
    秒懂设计模式--适配器模式
    秒懂设计模式--装饰者模式
    秒懂设计模式--观察者模式
    单例模式的几种实现
    springboot2.0+spring cloud+eureka搭建微服务步骤
    字符串排序算法
    bitbucket的简单使用
  • 原文地址:https://www.cnblogs.com/JuneDream/p/13386012.html
Copyright © 2011-2022 走看看