C# WEB项目MVC框架原理及约定(以及C# 关于MVC框架的简单实例(计算器))

1、MVC原理图:

 

2、MVC项目文件夹说明

 

MVC项目文件夹说明

1)、App_Data:用来保存数据文件,比如XML文件等
2)、App_Start:包含MVC启动的相关类  RouteConfig.cs 路由配置
3)、Global.asax.cs全局应用程序控制文件 启动路由配置RouteConfig.cs
4)、Controller:存放整个项目“控制器”代码文件
5)、Models:存放整个项目的“模型”代码文件
6)、Views:存放整个项目的“视图”代码文件(网页/界面)

重要文件说明

1)、Views下面的web.config:是整个视图的配置文件;根目录下的web.config:作用于整个项目的配置
2)、Global.asax.cs全局应用程序控制文件

 

3、MVC中的约定:

视图访问和寻址规则

1)、在控制器中使用View()方法调用视图,返回和“动作方法同名”的视图
2)、寻址规则:View()方法默认从“View文件夹”下寻找和控制器同名的文件夹

MVC中的约定

1)、控制器:必须以Controller结尾
2)、视图:必须放在Views文件夹下,并且要和控制器同名的子目录中创建

约定胜于配置

1)、提前规定好
2)、无需配置
3)、不遵守规则则出错
 

4、控制器和动作方法任务分析

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;//ASP.NET核心命名空间
using System.Web.Mvc;//MVC框架基本的命名空间

namespace MyFirstMVC.Controllers
{
    public class HomeController : Controller//每个控制器必须继承的基类
    {
        // GET: Home

        //控制器的动作方法,用于响应客户端的请求,并调用响应的视图向浏览器输出信息
        public ActionResult Index()
        {
            //[1]获取数据:接收请求数据

            //[2]业务处理:和Model交互...

            //[3]返回视图或跳转到其他控制器

            return View();//该方法默认调用Index视图(与Index()方法同名的视图)
        }
    }
}

///

//

以及C# 关于MVC框架的简单实例(计算器)

一、需求分析

实现效果

 

二、实现步骤

 

步骤一:新建项目--->Web---->空模板

 

步骤二:添加控制器

步骤三:根据控制器名称添加视图

步骤四:添加Models模型  编写具体的方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVCDemo.Models
{
    public class Calculator
    {
        public int getAVG(int sumScore,int sumSubject)
        {
            return sumScore / sumSubject;
        }
    }
}

步骤五:编写视图,具体展示的内容


@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>CalculatorView</title>
</head>
<body>
    <form method="post" action="/Calculator/Calculate">
        计算平均成绩<br/>
        总成绩:<input type="text" name="sumScore" /> <br/>
        总科目:<input type="text" name="sumSubject" /><br/>
        <input type="submit"  value="开始计算"/><br/>
        @ViewData["avgScore"]  
    </form>
   
</body>
</html>

步骤六:编写控制器活动方法

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

namespace MVCDemo.Controllers
{
    public class CalculatorController : Controller
    {
        // GET: Calculator
        public ActionResult Index()
        {
            return View("CalculatorView");
        }

        public ActionResult Calculate()
        {
            //[1]获取数据
            int sumScore = Convert.ToInt32(Request.Params["sumScore"]);
            int sumSubject = Convert.ToInt32(Request.Params["sumSubject"]);
            //[2]处理数据
            Calculator objCal = new Calculator();
            int avgScore = objCal.getAVG(sumScore, sumSubject);
            //[3]返回数据
            ViewData["avgScore"] = "平均成绩为:" + avgScore;
            return View("CalculatorView");
        }
    }
}

步骤七:修改路由

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace MVCDemo
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Calculator", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值