前述文章参见:ASP.NET MVC控制器Controller

  • 绪论

    之前的控制器返回的均为常量字符串,接下来展示如何获取请求传来的参数,而返回“动态”的字符串。

  • 可以在操作方法Browse添加一个string类型的genre参数,以实现获取请求传来的字符串值。当这个方法被调用时,ASP.NET MVC可以自动将名为“genre”的查询字符串或者表单提交参数传递给Browse操作方法。

      public string Browse(string genre)
    {
    string message = HttpUtility.HtmlEncode("Store.Browse,Genre=" + genre);
    return message;
    }

可以浏览到/Store/Browse?genre=4查看效果(如下图),应该返回Store.Browse,Genre=4。注意:这里之所以使用HttpUtility.HtmlEncode预处理用户输入,这是为了防止用户注入Javascript或者HTML代码。

  • 类似上面修改Browse方法那样,修改Details方法,添加一个int类型的id参数,如下:

      public string Details(int id)
    {
    string message = HttpUtility.HtmlEncode("Store.Details,ID=" + id);
    return message;
    }

    可以浏览到/Store/Details/4查看效果,可以发现Details方法获取到了请求传来的参数4,这是因为ASP.NET MVC的默认路由规定,将操作方法名称后面的URL的字符作为一个参数,该参数的名称为ID,如果方法有名为ID的参数,那么ASP.NET MVC将自动将这些字符作为参数传递过来。

  • 总结

    1.路由将URL映射到控制器中的方法,并且ASP.NET MVC使得路由的实现细节对开发者是透明的

    2.控制器将视图作为字节序列(通常为HTML)返回给浏览器

    3.实际上,控制器很少返回原始的字符串,它通常返回合适的ActionResult来处理类似HTTP状态码,HTML视图这样的事项

ASP.NET MVC控制器Controller中参数的更多相关文章

  1. ASP.NET MVC控制器Controller

    控制器的定义 MVC模式下的控制器(Controller)主要负责响应用户的输入,并且在响应时可能的修改模型(Model). 之前的URL访问,通常是通过指定服务器的路径来实现,如访问URL:http ...

  2. ASP.NET MVC 控制器激活(一)

    ASP.NET MVC 控制器激活(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅 ...

  3. ASP.NET MVC 控制器激活(二)

    ASP.NET MVC 控制器激活(二) 前言 在之前的篇幅中,用文字和图像来表示了控制器的激活过程,描述的角度都是从框架默认实现的角度去进行描述的,这样也使得大家都可以清楚的知道激活的过程以及其中涉 ...

  4. ASP.NET MVC 控制器激活(三)

    ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControllerInstanc ...

  5. 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器

    MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...

  6. 在ASP.NET MVC应用程序中实现Server.Transfer()类似的功能

    在ASP.NET MVC应用程序中,如果使用Server.Transfer()方法希望将请求转发到其它路径或者Http处理程序进行处理,都会引发“为xxx执行子请求时出错”的HttpException ...

  7. Asp.Net MVC 控制器

    原文链接:http://www.asp.net/learn/mvc/ 这篇教程探索了ASP.NET MVC控制器(controller).控制器动作(controller action)和动作结果(a ...

  8. 详解ASP.NET MVC 控制器

    1   概述 在阅读本篇博文时,建议结合上篇博文:详解ASP.NET MVC 路由  一起阅读,效果可能会更好些. Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务端的 ...

  9. 【ASP.NET MVC系列】浅谈ASP.NET MVC 控制器

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

随机推荐

  1. ssh远程无法连接VM中的Ubuntu问题

    Ubuntu ssh远程无法连接问题 1. 检查sudo ps -e|grep ssh  查看是否有ssh进程服务,如果没有的话,需要下载安装  sudo apt-get install openss ...

  2. Erlang 命令行监控工具

    http://www.cnblogs.com/me-sa/archive/2012/11/22/erlang_vm_monitor_text_mode.html 之前介绍过一个Erlang的Web监控 ...

  3. NOIP模拟 Ball - log积化和

    题目描述 Alice 与 Bob 在玩游戏.他们一共玩了 t 轮游戏.游戏中,他们分别获得了 n 个和 m 个小球.每个球上有一个分数.每个人的得分都为他所获得所有小球分数的乘积,分数小者获胜.问每轮 ...

  4. html中DIV+CSS与TABLE布局方式的区别及HTML5新加入的结构标签(转)

    DIV与TABLE布局的区别 div 和 table 的加载方式不同,div 的加载方式是即读即加载,遇到 <div> 没有遇到 </div> 的时候一样加载 div 中的内容 ...

  5. Cocos2d-x 脚本语言Lua基本语法

    Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...

  6. 无法写入预编译头文件,由于 IO 设备错误,无法运行此项请求的错误的解决

    作者:朱金灿 来源:http://blog.csdn.net/clever101 早上查看服务器每日构建的情况,发现出现一个诡异的错误: fatal error C1085: 无法写入预编译头文件:& ...

  7. Android - HelloWorld的Layout内容

    Android - HelloWorld的Layout内容 本文地址: http://blog.csdn.net/caroline_wendy 作为最基础的Android程序, HelloWorld的 ...

  8. hdu3698 Let the light guide us dp+线段树优化

    http://acm.hdu.edu.cn/showproblem.php?pid=3698 Let the light guide us Time Limit: 5000/2000 MS (Java ...

  9. Hadoop和RDBMS的混合系统介绍

    现在大数据概念被时常提起,社会各界对其关注度越来越高.往往越是火热的东西,人们越容易忽略它的本质.在 slides 中,我首先按照自己的理解,简单的理顺数据处理领域的发展历程.之后,落脚点是两个比较有 ...

  10. windows 10 常用快捷键

    alt + space:最大.最小.关闭: 多屏互动:win+p 仅此电脑屏幕:复制:拓展:仅第二屏幕: 0. 不同于之前版本的变化 切换输入法:shift + alt: win + space: w ...