.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"]);

 

posted @   浩叔  阅读(7030)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示