网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

asp.netcore下的RequestBody和RequestForm提交

最近在开发asp.net core时,遇到RequestBody和RequestForm数据提交方式,整理了一下,把结果记录下来。

成都创新互联是一家集网站建设,金乡企业网站建设,金乡品牌网站建设,网站定制,金乡网站建设报价,网络营销,网络优化,金乡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

对于RequestForm一般是接收表单的信息,而RequestBody通常是来接收较为复杂的数据(集合或杂杂对象)在asp.net中很容易区分接收,在action用[FromBody]和[FromForm]来标识就可以,对于客户端来说,区别就要大一些,这里记录两种方式,RestSharp和JQuery的ajax请求两种方式。

  1. 服务端

[HttpPost("additem")]
public IActionResult AddItem([FromBody]Item item)
{
    return new JsonResult(new { Result = 0, Message = "添加成功",Content=item.ToString() },new Newtonsoft.Json.JsonSerializerSettings ());
}
 
[HttpPost("additem")]
public IActionResult AddItem([FromForm]Item item)
{
    return new JsonResult(new { Result = 0, Message = "添加成功" ,Content=item.ToString()},new Newtonsoft.Json.JsonSerializerSettings ());
}

 

  1. RestSharp方式

    在项目中,用Nuget安装RestSharp类库,我用的是v105.2.3。

    用RestSharp提交RequestBody和RequestForm相对简单,代码如下:

using System;using RestSharp;namespace RestSharpTest
{
    class Program    {
        static void Main(string[] args)
        {
            while (true)
            {
                var client = new RestClient("http://localhost:5000");
                var request = new RestRequest("additem", Method.POST);
                request.RequestFormat = DataFormat.Json;
                Console.WriteLine("1、RequestBody  2、RequestForm");
                switch (Console.ReadLine())
                {
                    case "1":
                        request.AddJsonBody(new { ID = 111, Name = "张三", Birthday = DateTime.Now });
                        break;
                    case "2":
                        request.AddObject(new { ID = 111, Name = "张三", Birthday = DateTime.Now });
                        break;
                }
                var response = client.Execute(request);
                Console.WriteLine(response.Content);
              
            }
 
        }
    }
}

  1. JQuery中用ajax请求

    如果用jquery访问别的web,设置跨域访问(关于跨域访问,查看http://www.cnblogs.com/xishuai/p/aspnet-core-cors.html)

    
	                

一般情况下,web api是用[FromBody],因为一般web api是供app或DeskTop的应用访问,web页面请求用[FromForm],一般情况下web页面是通过表单向后台提交信息。


网站标题:asp.netcore下的RequestBody和RequestForm提交
路径分享:http://bjjierui.cn/article/pjpchd.html

其他资讯