ASP.NET MVC控制器Controller中参数

前述文章参见: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代码。
    6169dc3c9c5188c5.png

  • 类似上面修改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将自动将这些字符作为参数传递过来。
    08069dfba059592e.png

  • 总结
    1.路由将URL映射到控制器中的方法,并且ASP.NET MVC使得路由的实现细节对开发者是透明的
    2.控制器将视图作为字节序列(通常为HTML)返回给浏览器
    3.实际上,控制器很少返回原始的字符串,它通常返回合适的ActionResult来处理类似HTTP状态码,HTML视图这样的事项

转载于:https://www.cnblogs.com/mengnan/p/9307725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值