码迷,mamicode.com
首页 > Web开发 > 详细

MVC操作

时间:2018-01-03 22:43:16      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:控制   ati   ignore   pac   star   default   mapr   后缀   规则   

1、在Models下写处理程序的类

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 
 6 namespace MvcDemo.Models
 7 {
 8     public class MyCalculator
 9     {
10         /// <summary>
11         /// 计算平均成绩
12         /// </summary>
13         /// <param name="sumScore">总分</param>
14         /// <param name="sumSubject">科目总数</param>
15         /// <returns></returns>
16         public int GetAvg(int sumScore, int sumSubject)
17         {
18             return sumScore / sumSubject;
19         
20         }
21 
22     }
23 }

 

2、在Controllers下加入控制器

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 
 8 namespace MvcDemo.Controllers
 9 {
10     public class CalculatorController : Controller
11     {
12         //
13         // GET: /Calculator/
14 
15         public ActionResult Index()
16         {
17             return View("MyCal");//如果用View(),返回与控制器动作方法同名视图,即Index.aspx,而View/Calculator下没有Index.aspx视图,肯定会出错
18         }
19         public ActionResult GetAvgScore()
20         { 
21         //[1]接收提交的数据
22             int sumScore = Convert.ToInt32(Request.Params["sumScore"]);
23             int sumSubject = Convert.ToInt32(Request.Params["sumSubject"]);
24         //【2】调用模型处理数据
25             int result=new MvcDemo.Models.MyCalculator().GetAvg(sumScore,sumSubject);
26        //【3】返回视图(返回视图前,如果需要数据返回,必须先保存数据)
27             ViewData["avgScore"]="您的平均成绩是:" +result.ToString();
28             return View("MyCal");  //能不能用View()呢?不行,View()返回的是与,即GetAvgScore视图,必须要显式的写上(无后缀名)
29 
30         }
31 
32     }
33 }

 

 

3、在Views加文件夹(与控制器同名),再加视图名称

 1 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html>
 6 <head runat="server">
 7     <meta name="viewport" content="width=device-width" />
 8     <title>MyCal</title>
 9 </head>
10 <body>
11     <div>
12 
13          <form method="post"  action="/Calculator/GetAvgScore" > 
14              <%--根据路由规则来填写action,即url: "{controller}/{action}/{id}",--%>
15              计算我的平均成绩:<br />
16              科目总分:<input  type="text" name="sumScore"/><br />
17              科目总数:<input  type="text" name="sumSubject"/><br />
18              <input type="submit" value="开始计算"/>
19 
20          </form>    
21         <br />
22         <%--ViewData能够在控制器和视图之间传递,通过键来获取值--%>
23         <%=ViewData["avgScore"] %>
24     </div>
25 </body>
26 </html>

 

 

MVC的程序入口:App_Start/RouteConfig下的Default路由来确定。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 using System.Web.Routing;
 7 
 8 namespace MvcDemo
 9 {
10     public class RouteConfig
11     {
12         public static void RegisterRoutes(RouteCollection routes)
13         {
14             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
15 
16             routes.MapRoute(
17                 name: "Default",
18                 url: "{controller}/{action}/{id}",
19                 //默认是Home/Index,程序入口
20                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
21             );
22         }
23     }
24 }

 

MVC操作

标签:控制   ati   ignore   pac   star   default   mapr   后缀   规则   

原文地址:https://www.cnblogs.com/atlj/p/8185522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!