• .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"]);
  • 相关阅读:
    Android home键和back键区别
    装饰器模式
    对象的序列化
    构建器问题
    finnally的一些用法
    LinkedList ArrayList测试2
    LinkedList ArrayList测试
    meizu调试遇到 的问题
    java和c#通过esb服务互调用组件
    .NET平台常用的框架整理
  • 原文地址:https://www.cnblogs.com/haosit/p/7747232.html
Copyright © 2020-2023  润新知