前言

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

第01节[翻译]01-ASP.NET MVC 3介绍

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

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 <b>default</b> 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 我们下一课程会讲 ....

如果更多的学习资料,可以到--ASP.NET MVC专题...

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

ASP.NET MVC3-第02节-添加一个Controller (C#)的更多相关文章

  1. AWVS漏洞测试-02节-添加一个简单的新闻系统

    实现一个简单的新闻发布系统 有登录 注册 添加新闻 浏览新闻 评论新闻 新闻列表 这些基本功能 使用asp.net webform 首先是登录页 protected void Button1_Clic ...

  2. Asp.net MVC3 中,动态添加filter

    Asp.net MVC3 中,动态添加filter filter是attribute,不支持泛型,传入的参数必须是固定的值.总之很受attribute本身的限制. 发现一篇老外的文章,动态设置filt ...

  3. ASP.NET MVC3入门教程之第一个WEB应用程序

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=91&extra=page%3D1 上一节,我们已经搭建好了AS ...

  4. 00024500-0000-0000-C000-000000000046错误,在sys.web配置节添加一个用户给web站点。

    <identity impersonate ="true" userName="administrator" password="123456& ...

  5. 经典ASP.NET MVC3.0入门详解

    http://blog.csdn.net/csh624366188/article/details/7064269 :由于本文原在word文档里编写,写本文章时运用了大量截图,直接复制到博客里,没有显 ...

  6. ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)

    http://www.jquery001.com/asp.net-mvc3-instance-add-update-delete2.html 上篇我们在 ASP.NET MVC3 中实现了添加操作,由 ...

  7. ASP.NET MVC3快速入门——第四节、添加一个模型

    在本节中我们将追加一些类来管理数据库中的电影.这些类将成为我们的MVC应用程序中的“模型”部分.我们将使用一个.NET Framework的被称之为“Entiry Framework”的数据访问技术来 ...

  8. asp.net mvc3 数据验证(四)—Remote验证的一个注意事项

    原文:asp.net mvc3 数据验证(四)-Remote验证的一个注意事项         前几篇把asp.net mvc3 中基于Model的主要数据验证的方法都已经讲完了,本节纯粹只是讲一个我 ...

  9. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器

    2. 添加一个控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-c ...

随机推荐

  1. go语言之进阶篇文件常用操作接口介绍和使用

    一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...

  2. 0mq 入门 (转)

    最近做后台发现很多地方需要队列,我用东西一般有两个要求:     1) 够傻够简单.    2) 有源码,能看又能改.    最后相中了0mq,下面介绍如何安装和写个简单的例子.一. linux平台: ...

  3. RxJava【变换】操作符 map flatMap concatMap buffer MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 【Java】SAX解析characters 错误截取问题的解决

    SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...

  5. Eclipse里选一个变量后,这个类里的该变量不变色了

    使用“Alt+Shift+O”对该提示功能的开/关切换

  6. Flask莫名其妙特别慢

    其他上网都正常,代理服务器.防火墙反复检查都没问题,最后,严重怀疑腾讯的mysql服务器,监控是这样的: 突然下降那段就很不正常. 后面忽然就崩溃了,死活都连不上.把可疑连接都关闭了,把防火墙都关闭了 ...

  7. Jquery Ajax 返回数据类型变成document

    下面是我写的一段Jquery Ajax的代码,在chrome下没有问题,在firefox下就算是返回success也提示"系统正忙"; $.ajax({ url: "fa ...

  8. [Algorithm] Find merge point of two linked list

    Assume we have two linked list, we want to find a point in each list, from which all the the nodes s ...

  9. HDU 1541 Stars (线段树)

     Problem Description Astronomers often examine star maps where stars are represented by points on ...

  10. 35个让人惊讶的CSS3动画效果

    1. Pure CSS Coke Can 2. Colorful Clock 3. jQuery DJ Hero 4. Animated Pricing Column 5. Slick jQuery  ...