.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 @ 2017-10-28 16:39  浩叔  阅读(7011)  评论(0编辑  收藏  举报