前述文章参见: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. 【u203】文件夹计数

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 可以用路径来描述文件夹,路径为一个包含若干部分的字符串,之间用'/'分隔.每部分均为一个文件夹的名称, ...

  2. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    今天在阿里云申请了一个centos系统的云服务器,以前对linux了解的只是皮毛,记了几个命令还给忘了,整了半天都弄不好,作为一个做过javaweb开发的coder实在是惭愧啊,决定从今天开始学习Li ...

  3. 【BZOJ 1027】[JSOI2007]合金

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1027 [题意] [题解] 因为和为1; 所以只要知道两个属性第三个属性就能用1减出来了 ...

  4. Arcgis api for javascript学习笔记 - 不改变默认端口(6080)情况下,外网访问Arcgis Server 发布的接口

    Arcgis Server发布的地图服务地址默认端口号是6080,假设本机上只对80端口做了外网映射,在IIS中部署了一个网站绑定了80端口,那么网站中某个页面通过arcgis api for js ...

  5. spring mybatis circular reference

    摘要: Error creating bean with name 'XXX': Requested bean is currently in creation: Is there an unreso ...

  6. echarts的一些基础笔记

    图表标题 title: { x: "left", // 水平安放位置,默认为左对齐,可选为: // 'center' ¦ 'left' ¦ 'right' // ¦ {number ...

  7. Java10 新特性

    Java 10 新特性 这次发布的 Java 10,新带来的特性并不多. 根据官网公开资料,共有 12 个 JEP(JDK Enhancement Proposal 特性加强提议),带来以下加强功能: ...

  8. 防止SQL/XSS攻击

    function clean($str)    {     $str=trim($str);     $str=strip_tags($str);     $str=stripslashes($str ...

  9. markdownpad 2 的使用

    1. 注册 邮箱:Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M ...

  10. Qt::WindowFlags枚举类型(Qt::Widget是独立窗口和子窗口两用的,Qt::Window会有标题栏)

    Qt::Widget : QWidget构造函数的默认值,如新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件. Qt::Window : 无论是否有父窗口部件,新窗口部件都是一 ...