博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC3-第02节-添加一个Controller (C#)
阅读量:5923 次
发布时间:2019-06-19

本文共 2365 字,大约阅读时间需要 7 分钟。

前言

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

 

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

MVC是“model-view-controller”的缩写,也就是 模型-视图-控制器 ,MVC是一个“分离关注点”的架构,这将会变得容易开发和维护

MVC基本程序包括:
控制器(Controllers):是一个从程序中获取参数,接收数据,和做特殊处理,制定视图,然后响应给客户端的
模型(Models):是一个体现(represent )数据的引用,和使得数据的正确性,对数据进行验证的
视图(Views):你的程序使用的一个HTML响应的动态生成的模版文件,就是一个用来生成HTML的模版文件
我们将会通过这些说明来想你展现怎么使用他们来创建一个MVC程序
我们来创建一个控制器类,在解决方案中Solution Explorer, 右击”Controllers “ 文件夹,然后选择 添加 --控制器Add Controller
给你的新的控制器起名为”HelloWorldController“,模版那里 选择 空控制器  Empty controller,然后 点击  添加 (Add)
注意在解决方案中 一个新的文件被创建:HelloWorldController.cs,该文件在IDE是打开的
在里面的  public class HelloWorldController 块 ,创建两个方法  向下面的代码
    ---------
这个控制器将会返回HTML的字符代码作为一个列子

using System.Web;using System.Web.Mvc;  namespace MvcMovie.Controllers{    public class HelloWorldController : Controller    {        //        // GET: /HelloWorld/          public string Index()        {            return "This is my default action...";        }          //        // GET: /HelloWorld/Welcome/          public string Welcome()        {            return "This is the Welcome action method...";        }    }}

 

你的控制器命名为 HelloWorldController 这个第一个方法命名为 ”Index“
我们来在浏览器中 运行 (按F5 或者 Ctrl+F5).,在浏览器中的地址栏 出现  "HelloWorld"  例如这样的地址http://localhost:43246/HelloWorld
这个页面 看上去如下图的截图, 在我们看到 一些HTML标签 也能被浏览器渲染

<b>default</b>

ASP.NET MVC  创建的不同的控制器类, 它们里面有有不同action方法, 根据来路URL的不同,然后被不同的路由规则匹配出请求的action,路由规则如下
/[Controller]/[ActionName]/[Parameters]
第URL的第一部分表示要执行的控制器类,因此/HelloWorld  这个是对应HelloWorldController 这一个类
URL的第二部分是类要执行的方法,因此/HelloWorld/Index 这一个对应的是HelloWorldController 里面的 Index 方法
如果通过 浏览器 访问”http://localhost:xxxx/HelloWorld/Welcome.“
Welcome 方法将会被调用 返回This is the Welcome action method..." 的字样,默认的MVC路由规则是
/[Controller]/[ActionName]/[Parameters].
URL的第三部分是[Parameters] 这个是网控制器的方法中 传递一个参数
让我们来修改这个例子,让我们能够通过URL向控制器传递一些参数
例如 这样的请求/HelloWorld/Welcome?name=Scott&numtimes=4  改变你的Welcome 方法 添加两个参数 如下方代码
注意代码使用的是 C#  属性的参数  同时 numTimes 参数 默认是1,如果没给他传值的话

public string Welcome(string name, int numTimes = 1) {
     return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);
}

运行程序和访问地址http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4

你可以看到不同的名称和时间 name and numtimes
路由系统会自动的匹配出地址栏请求的参数 传给你的方法
通过上面的列子,控制层是负责 MVC中的VC 就是 视图和控制器的工作 控制器直接返回HTML 通常你的控制层是不会直接返回HTML的
因此这样会变得非常累赘的代码, 取而代之的是使用 模版引起 来展现相应HTML 我们下一课程会讲 ....

如果更多的学习资料,可以到--...

谢谢大家支持....后续还有九篇文章,都比较权威的....需要原文的可以到...

 

转载地址:http://dlxvx.baihongyu.com/

你可能感兴趣的文章
corosync(openais)+drbd+pacemaker实现mysql服务器的高可用性群集
查看>>
centos 6.2 硬盘安装(双系统)
查看>>
RHEL6.2 64位系统Virtualbox虚拟机下安装过程
查看>>
Linux中文件查找——find命令
查看>>
How to Install Apache Kafka on CentOS 7
查看>>
Exchange 2016 将邮箱数据库排除
查看>>
正式学习React(四) 前序篇
查看>>
yum安装mysql
查看>>
如何在fedora 16下配置×××连接
查看>>
linux下cache和buffer的使用情况
查看>>
多余的拼音导致Python的数据类型错误
查看>>
前端开发知识之前端移动端适配总结
查看>>
Matrix
查看>>
Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码
查看>>
VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)
查看>>
南阳38--布线问题
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Learn Python 012: for loop
查看>>
安全试验资源
查看>>
系统问题
查看>>