【ASP.NET MVC 4项目】我的第一个MVC项目(搭建MVC项目)

作者(出处):百宝箱工作室发布时间:2018年6月23日 17:06:24查阅量:34

一、搭建框架

1、文件、新建、项目。

2、会弹出“新建项目”对话框,在对话框左侧“模版”中选中“Web”,右侧选中“ASP.NET MVC 4 Web应用程序”,上面选择“.NET Framework 4”框架,输入项目名称MyFirstMvc,选择保存路径,单击“确定”。

3、会弹出“新ASP.NET MVC 4项目”对话框,选择模版为“空”模版,视图引擎选择ASPX在对话框右侧有说明:一个空的ASP.NET MVC 4项目,单击“确定”。

二、项目流程

1、添加控制器。右键单击Controllers文件夹,选择“添加”,再选择“控制器”,在“控制器名称”栏输入HomeController,“模版”选择“空MVC控制器”,单击“确定”。

2、添加视图。右键单击Views文件夹,选择“添加”,再选择“新建文件夹”,输入文件夹名称为Home(这个文件夹必须与控制器同名,就是与HomeController控制器同名)。

右键单击Home文件夹,选择“添加”,再选择“视图”,在“视图名称”栏输入MyCal,视图引擎选择“ASPX”并取消其他复选框,单击“添加”。

3、添加模型。右键单击Models文件夹,选择“添加”,再选择“类”,在“名称”栏输入 Calculater.cs,单击“添加”。

4、在刚刚添加的Calculater.cs类中写入以下方法用于求平均分,具体代码如下:

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

namespace MyFirstMvc.Models
{
    public class Calculater
    {
        /// <summary>
        /// 求平均分
        /// </summary>
        /// <param name="sumScore">课程总分</param>
        /// <param name="sumSubject">课程门数</param>
        /// <returns>平均分</returns>
        public int Avg(int sumScore, int sumSubject)
        {
            return sumScore / sumSubject;
        }
    }
}

5、设计视图页面(设计网页界面),主要看body标签中那部分代码,代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>我的第一个MVC项目</title>
</head>
<body>
<form method="post" action="#">
    <h1>计算平均分</h1><br />
    课程总分:<input type="text" name="Score" />
    课程门数:<input type="text" name="Subject" />
    <input type="submit" value="计算"/><br />
</form>
</body>
</html>

6、控制器编码。在HomeController控制器中添加以下方法,注意要using MyFirstMvc.Models:

public ActionResult GetAvgScore()
{
     //【1】接收数据
     int score = Convert.ToInt32(Request.Params["Score"]);    //Score是视图中文本框的name属性值
     int subject = Convert.ToInt32(Request.Params["Subject"]);//Subject是视图中文本框的name属性值
     //【2】调用模型处理业务
     Calculater cal = new Calculater(); //要using MyFirstMvc.Models
     int result = cal.Avg(score, subject);
     //【3】保存需要传递的数据
     ViewData["avg"] = "您的平均分是:" + result;
     //【4】返回数据给视图使用
     return View("MyCal");  //数据返回到MyCal.aspx视图(返回到页面)
}

7、在视图(页面)使用返回的数据。代码如下:

<%=ViewData["avg"] %>

8、修改路由配置。打开RouteConfig.cs文件,把

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

修改为

defaults: new { controller = "Home", action = "MyCal", id = UrlParameter.Optional }

MyCal是MyCal.aspx视图名称。

9、在控制器增加一个返回视图的方法:

public ActionResult MyCal()
{
       return View("MyCal");
}

10.把视图页面中action="#",修改为action="/Home/GetAvgScore",修改后的代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>我的第一个MVC项目</title>
</head>
<body> <form method="post" action="/Home/GetAvgScore">
    <h1>计算平均分</h1><br />
    课程总分:<input type="text" name="Score" />
    课程门数:<input type="text" name="Subject" />
    <input type="submit" value="计算"/><br />
    <%=ViewData["avg"] %>
</form>
</body>
</html>

Home是控制器名称,GetAvgScore是HomeController控制器中的一个方法,Home前面的/不能省略,省略了会出问题,不信可以试试看。

11、到此,我的第一个MVC项目搭建好,运行程序可以计算平均分了。

百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2018
点击这里给我发消息