自嘲一下。。。。。。万事还是得从官方的入门开始

由于找不到适合新新手的MVC入门实例所以回过头来做一下微软的 《Asp.Net MVC4入门指南》。

只有把自己放在太阳下暴晒,才知道自己有多菜!

新手心得,万一有被看到,请指正

一、Action方法的访问 (实质上就是调用某个Cotroller中的某个方法,这个方法可能有参数的)

namespace MVCMovie.Controllers

{
public class HelloWorldController : Controller
{
//
// GET: /HelloWorld/   从这里可以看到是一Get方式进行的访问
public string Index()
{
return "This is my <b>default</b> action methord";
}

//
//GET: /HelloWorld/Welcom   从这里可以看到是一Get方式进行的访问
public string Welcome()
{
return "This is the welcome action methord";
}
}
}

一个HellowordController中有两个action(方法),通过/Control/action的形式去访问这两个方法,可以看到return后的字符内容

图片1

访问地址为/HelloWorld/   这里只有Controller的名字 没有Index这个方法,是因为路由中默认访问Index方法

其实就是/HelloWord/Index

图片2 

对于不是路由中映射的默认方法的访问,访问格式为 /Controllername/actionname

所以访问welcome方法,访问地址为/HelloWorld/Welcome

图片3

看到这个图了吗?Action方法也显示数据的,比如图1,图2,图片3中的Table就更说明了问题了

不一定要放入View中(当然很不方便)

这说明了MVC就是代码的拆分

怎么拆分呢?微软的观点如下:

MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。

基于MVC模式的应用程序包含:

· Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。

· Views: 应用程序动态生成 HTML所使用的模板文件。

· Controllers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。

图片3的代码如下:

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

namespace MVCMovie.Controllers
{
public class HelloWorldController : Controller
{
//
// GET: /HelloWorld/
public string Index()
{
return "This is my <table border=1><tr><td><b>default</b></td></tr></table> action methord";
}

//
//GET: /HelloWorld/Welcom
public string Welcome()
{
return "This is the welcome action methord";
}
}
}

二、GET方式与action的交互(传递参数)

/[Controller]/[ActionName]/[Parameters]

访问地址:/HelloWorld/Welcome?name=Scott&numtimes=4

代码:

namespace MVCMovie.Controllers
{
public class HelloWorldController : Controller
{
//GET: /HelloWorld/Welcom

public string Welcome(string name, int numTimes = 1) //numTimes如果传入的值不符合要求,或者没有传入则为1
{

return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);

}
}
}

数迹学——Asp.Net MVC4入门指南(2):添加一个控制器的更多相关文章

  1. 数迹学——Asp.Net MVC4入门指南(5):从控制器访问数据模型

    MovieController中的方法Index()代码,初认识,应该有很多理解错误的地方,暂时这么记忆吧,待随后修改 Index()代码: @model IEnumerable<MVCMovi ...

  2. 数迹学——Asp.Net MVC4入门指南(4):添加一个模型

    一.添加模型类 二.添加MovieDBContext类,连接数据库 DbContext类继承自 System.Data.Entity; 负责在数据库中获取,存储,更新,处理实例 MovieDBCont ...

  3. 数迹学——Asp.Net MVC4入门指南(3):添加一个视图

    方法返回值  ActionResult(方法执行后的结果) 例子1 public ActionResult methordName() { return "string"; } 例 ...

  4. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  5. Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

    Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...

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

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

  7. 【部分补充】【翻译转载】【官方教程】Asp.Net MVC4入门指南(4):添加一个模型

    4. 添加一个模型 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-mo ...

  8. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(3):添加一个视图

    3. 添加一个视图 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-vi ...

  9. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(1): 入门介绍

    1. Asp.Net MVC4 入门介绍 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/ ...

随机推荐

  1. C# 使用HttpWebRequest通过PHP接口 上传文件

    1:上传文件实例 public void UploadXMLLog(string xmlpath)         {             NameValueCollection nvc = ne ...

  2. C++ 不能在类体外指定关键字static

    C++ static 函数的问题 近日读 C++ primer 中static 一章 , 有这么一句话, “静态成员函数的声明除了在类体中的函数声明前加上关键字static 以及不能声明为const  ...

  3. Java队列工具类(程序仅供练习)

    public class QueueUtils<T> { public int defaultSize; public Object[] data; public int front = ...

  4. Alpha 和Beta 测试

    在正式发布产品之前往往要先发布一些测试版,让用户能够反馈出相关信息,或者找到存在的Bug,以便在正式版中得到解决. 特别是在有客户参加的情况下,对系统进行测试可能会出现一些我们没有考虑的情况,还可以解 ...

  5. WCF初探-2:手动实现WCF程序

    1.前言 上一篇,我们通过VS自带的模板引擎自动生成了一个wcf程序,接下来我们将手动实现一个wcf程序.由于应用程序开发中一般都会涉及到大量的增删改查业务,所以这个程序将简单演示如何在wcf中构建简 ...

  6. iOS开发网络篇—监测网络状态

    iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行 ...

  7. [最近公共祖先] POJ 3728 The merchant

    The merchant Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 4556   Accepted: 1576 Desc ...

  8. ASIHTTPRequest下载示例(支持断点续传)

    一.创建网络请求队列 首先,创建网络请求队列,如下: ASINetworkQueue   *que = [[ASINetworkQueue alloc] init]; self.netWorkQueu ...

  9. env.sh

    #!/bin/sh#docker exec -i t nginx /usr/share/app/nginx/vip/webapp/evn.sh testtestUrl='http:\/\/192.16 ...

  10. GIT(分布式版本控制系统)

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.[1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本 ...