zoukankan      html  css  js  c++  java
  • .Net Core 学习路由和请求参数传递

    一、配置默认路由方式

    {Controller=Home}/{action=Index}/{id?}

    默认请求地址:http://localhost:xxx/home/index

    /id? 是可选项例如

    HomeController中

            public ActionResult Index()
            {
                return Content("ok");
            }
            public ActionResult Index(int id)
            {
                return Content("ok");
            }    

    第一个方法是默认路由所指向方法。

    第二个方法,原先请求地址应该为:http://localhost:xxx/home/index?id=1,因为/id?的缘故可以改为:http://localhost:xxx/home/index/1

    二、请求参数传递

    1. 用对象的方式接收请求参数例如:

    我们有一个类用来接收参数

      

    对应的方法如下,加上[FromBody]的目的是告诉它获取参数在body里

    public class Paramses
    {
        public string Id { get; set; }
    
        public string Name { get; set; }
    
        public int Age { get; set; }
    }

    请求的时候参数可以跟在地址末尾,也可以是ajax的JSON参数例如:

    http://localhost:xxx/home/text?id=asdqwe&name=haos&age=1

    $.ajax({
      url:"",
      type:"post",
      data:{
        id:"qwe",
        name:"asd",
        age:1
      }
    })

     2. 用object类的参数参数接收

     

    这时的参数就比较灵活,可以任意的字符串;

    比如:

    $.ajax({
      url:"",
      type:"post",
      data:{
        id:"qwe",
        name:"asd",
        age:1
      }
    })

    此时接收到的内容

     再用如下方法转换成字典,获取对应内容

    Dictionary<string, string> p = JsonConvert.DeserializeObject<Dictionary<string, string>>(paramses.ToString());
    var i = p["id"];
    var age = int.Parse(p["age"]);
  • 相关阅读:
    (一)Kubernetes 系统基础
    Linux-网络RAID技术DRBD
    Linux-存储服务之NFS
    ELK快速入门(五)配置nginx代理kibana
    ELK快速入门(四)filebeat替代logstash收集日志
    ELK快速入门(三)logstash收集日志写入redis
    渗透测试工具集合
    CVE-2019-0708(非蓝屏poc)远程桌面代码执行漏洞复现
    代码审计-thinkphp3.2.3框架漏洞sql注入
    渗透测试-端口复用正向后门
  • 原文地址:https://www.cnblogs.com/haosit/p/7747232.html
Copyright © 2011-2022 走看看