首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当角度http.post具有正确的值时,为什么asp web API2控制器中的obj值为空?

当角度http.post具有正确的值时,asp web API2控制器中的obj值为空的可能原因有以下几点:

  1. 参数绑定错误:在ASP.NET Web API中,控制器的参数绑定是通过模型绑定器来完成的。当使用HTTP POST请求时,Web API会尝试从请求的正文中读取数据,并将其绑定到控制器的参数上。如果参数的名称与请求正文中的字段名称不匹配,或者请求正文中的数据格式不正确,那么绑定过程可能会失败,导致obj值为空。可以通过检查请求正文的格式和参数名称是否正确来解决此问题。
  2. 缺少参数标记:在ASP.NET Web API中,可以使用参数标记来指定参数的来源和绑定方式。例如,[FromBody]标记可以用于指定参数的值应该从请求正文中获取。如果在控制器的参数上缺少适当的参数标记,那么绑定过程可能会失败,导致obj值为空。可以通过在参数上添加适当的参数标记来解决此问题。
  3. 数据类型不匹配:当角度http.post请求中的数据类型与控制器参数的数据类型不匹配时,绑定过程可能会失败,导致obj值为空。例如,如果请求正文中的数据是JSON格式的字符串,而控制器参数的类型是一个自定义的类对象,那么绑定过程可能无法将JSON字符串转换为该类的实例。可以通过确保请求正文中的数据类型与控制器参数的数据类型匹配来解决此问题。
  4. 请求正文为空:如果角度http.post请求的请求正文为空,那么控制器中的obj值将为空。可以通过检查请求正文是否包含有效的数据来解决此问题。

总结起来,当角度http.post具有正确的值时,asp web API2控制器中的obj值为空可能是由于参数绑定错误、缺少参数标记、数据类型不匹配或请求正文为空所导致的。可以通过检查参数绑定、参数标记、数据类型和请求正文来解决此问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

ASP.NET Web Form ASP.NET 在过去十二年里,已经服务并成功实现Web 应用开发。我们首先了解一下为什么ASP.NET能够如此流行,并成功应用。...ASP.NET Web Form存在问题 我们不得不考虑问题是,既然ASP.NET Web Form 如此成功且具有优势,为什么微软还要推出ASP.NET MVC?...点击Button,一个简单HTTP请求会发送到服务器。差别在于Customer Name,Address以及Age输入内容将随着请求一起发送。...Step 2 –创建控制器 Step 2.1,在资源管理器,右击controller文件夹,选择添加->Controller(控制器) Step 2.2 选择 MVC 5 Controller 并点击添加...通常称为用户界面的设计即UI层,在ASP.net MVC称为View。 实验二——深入理解View 在实验二,创建一个简单MVC应用,仅仅具有Controller和简单字符串类型返回

3.1K60

Asp.net web api 知多少

您想创建一个可以使用快速传输通道服务,请选择WCF,如TCP,命名管道,或者甚至UDP(在WCF 4.5),并且所有其他通道不可用时能够支持HTTP传输信道。...您要通过HTTP创建面向资源服务选择WEB API,因为其可以使用完整 HTTP特性(如URI,请求/响应头,缓存,版本控制,各种内容格式)。...当你混合使用了MVC和WEB API控制器,你想实现授权那么你必须创建两个过滤器一个MVC和另一个WEB API,因为两者是不同。...如何在ASP.NET WEB API2定义特性路由? Ans....像ASP.NET MVC5那样,可以在WEB API2controller级别和action级别定义特性路由: Controller level routing(控制器级别路由) 在控制器级别定义特性路由将应用到所有

4.8K50

Asp.net mvc 知多少(一)

该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...Entity(实体):具有唯一标志对象,比如用户。 Value Object(对象):不具有唯一标志对象,比如枚举。一个对象也可以是一个实体视情况而定。...ASP.NET MVC framework 具有很好扩展性以及支持自定义。 Q7. MVC模式在ASP.NET下是如何工作? Ans....我们按照Model、View、Controller顺序来一一解释: The Model in ASP.NET MVC ASP.NET MVC Model可以分解成几个不同层: Objects...MVC管道授权过滤器之前运行) 引入了Bootstrap ASP.NET WEB API2 Q11.

2.2K70

Asp.Net Web API 2第十五课——Model Validation(模型验证)

://www.asp.net/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api 客户端发送数据给你...Web API将该JSON转换成Product实例,它会根据这些验证注解属性对Product进行验证。...JSON格式化器会将默认(这里是零)赋给这些缺失属性。 “Under-Posting(递交不足)”:客户端遗漏了某些属性,便会发生“Under-posting”。...在这种情况下,JSON格式化器会简单地忽略该(XML格式化器却不同)。若你模型具有只读属性,Over-posting会产生问题。...HttpError类在RC版(指Web API预览版)无效。 你可以将此过滤器全局性地运用于所有Web API控制器

71420

ASP.NET MVC 4 - 测试驱动 ASP.NET MVC

首先,我建议在创建 ASP.NET MVC 项目使用项目模板。其他模板很适合于试验或创建概念证明,但它们通常会包含许多会让人分神且在真正企业应用程序不必要干扰内容。...通过将您控制器放置于单独项目中,您可以进一步将处于控制器逻辑与 UI 代码分离开来。结果就是您 Web 项目仅包含真正与 UI 相关代码。...但遗憾是,它驻留在 System.Web.MVC DLL ,而我不希望在应用程序体系结构Web具有对特定于 Web 技术引用。...通常,这意味着它具有 void 方法实现,并且函数实现包含返回硬编码返回语句,如下所示: public class LoggingServiceFake : ILoggingService {...控制器声明参数化构造函数,将在新控制器工厂解析控制器自动解析依赖关系。

5.4K70

Asp.Net WebApi核心对象解析(二)

一.WebApi处理架构:     我们在学习Asp.Net WebApi,应该对Asp.Net WebApi内部运行机制有一个大致了解,很多人说了解这些基本原理意义不大,实际开发应用不到而且还浪费时间...在谈WebApi处理架构之前,我们还是来看一下微软WebApi提供海报,这里就不拿图了,需要看可以点击下载:下载地址     Asp.Net Web Api处理架构可以分为三层,分别是托管层、消息处理程序管道...控制器分发还是一个消息处理程序,主要是选择、创建和调用正确控制器来处理请求。...(1).在任何Windows进程自托管。        (2).Web托管,即在IIS之上使用ASP.NET管道进行托管。...(在一个owin兼容服务器上建立一个webapi层)      在使用web托管,所使用ASP.NET管道和路由功能,将HTTP请求转发到一个新ASP.NET处理程序,HttpControllerHandler

3.1K100

ASP.NET MVC5高级编程 ——(5)路由

构造传出URL,用来响应控制器操作。 ASP.NET MVC5有:特性路由和传统路由。 ASP.NET MVC5路由机制图解: ?...ASP.NET路由在两个地方设置: 1 :在应用程序Web.config文件四个节点与路由有关: sytem.web.httpModules,system.web.httpHandlers节,system.webserver.modules...1.特性路由 1.1 路由URL 创建一个ASP.NET MVC Web应用程序项目后,浏览Global.asax.cs文件代码,Application_Start方法调用了一个名为RegisterRoutes...1.3 控制器路由 之前讨论了如何把路由特性直接添加到操作方法上,但是很多时候,控制器方法遵循模式具有相似的路由模版,以HomeController控制器例: ?...如果URL看上去相似,但是具有不同行为,就可以使用路有约束来表达这些URL之间区别,并把它们映射到正确操作。 1.5 路由默认 ?

2K40

ASP.NET Core 设置 WebAPI 响应数据格式—FormatFilter特性篇

前言 在上一篇《ASP.NET Core 设置Web API 响应数据格式——Produces 特性篇》老周已向各位介绍过 Produces 特性使用,本文将介绍另一个特性类:FormatFilterAttribute...是怎么工作 这个特性类可以应用在类(控制器)和方法(控制器 Action)上,它允许 API 调用方主动选择返回数据格式。这是什么操作呢?...2、从请求 URL 查询字符串中找到名为“format”字段,若它 json 表示返回 JSON 格式数据;若为 xml 就返回 XML 格式数据。若为其他,你得自定义实现。...在 Program.cs 文件补上其他代码,在注册 API 控制器功能,要调用 AddXmlSerializerFormatters 方法,这样才支持返回 XML 格式数据。...: 用 JSON 格式返回结果: 自己加个格式 json、xml 是 ASP.NET Core 自动注册格式名称,我们也可以自己加一些格式。

1.6K30

Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)

本文已同步到Web API2系列文章http://www.cnblogs.com/aehyok/p/3446289.html。   ...OData还定义了一个方法来公开元数据有关数据。客户端可以使用元数据来发现类型信息和关系数据集。ASP.NET Web API OData可以很容易创建OData终结点数据集。...选择合适模版进行创建项目 并命名为OData,点击确认后,在下一个Asp.Net 项目对话框中选择 Empty模版,并在以下对象添加文件夹和核心引用下:进行勾选Web  API。...此字段也是后台数据库中表主键,之后进行生成项目的步骤。 添加一个OData控制器  控制器就是一个处理HTTP请求类。在OData服务每个实体数据集定义一个独立控制器。...每个实体集调用EntitySet,然后定义一个合适控制器。 MapODataRoute 方法OData终结点添加一个路由。

96931

Asp.net mvc 知多少(八)

该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...Exception filters 在ASP.NET MVC pipeline(管道)执行期间有一个未处理异常抛出被执行。 Q81....我们可以配置自定义过滤器以下三个级别: Global level(全局级别) 将过滤器注册到Global.asax.cs文件Application_Start方法: protected void...ASP.NET MVC认证和授权是如何工作? Ans. 像 ASP.NET一样,MVC 也支持 Windows 和Forms 认证。可以通过在Web.config配置或自己编码。 Q84....和 ASP.NET一样, MVC Forms authentication在IIS认证完成之后发生。可以在 ASP.NET MVC应用程序Web.config文件forms节点进行配置。

1.4K90

ASP.NET Web API编程——控制器

2控制器操作返回 类型 说明 void 操作返回voidWeb API返回空HTTP响应,其状态码204(无内容) HttpResponseMessage Web api会将此返回直接转换为...AcceptRanges来设置HTTP 请求 Accept-Ranges 标头,浏览器发现Accept-Range头,可以尝试继续中断了下载,而不是重新开始。...控制器操作返回此类型Web API会调用ExecuteAsync方法创建类型HttpResponseMessage实例,然后将这个实例转换为HTTP消息。...protected internal virtual OkResult Ok();返回OkResult ,创建一个状态码200响应。...2.3返回内置类型或自定义类型 返回内置类型或自定义类型Web API使用格式化器序列化返回,并将其写入HTTP消息,响应状态码200。

2.3K50

如何在ASP.NetCore增加文件上传大小

但是,您尝试上传大型文件 (> 30MB) ,需要增加默认允许最大限制。在这篇简短文章,我们将了解如何在.netcore 应用程序增加文件 ASP.NET 大小以及控制此限制各种选项。...我们曾经在 web.config 文件通过设置增加 4MB 默认限制。...system.web> 同样对于 ASP.NetCore 应用程序我们可以通过在文件设置设置属性来增加默认 30MB 限制。...您可以在方法级别或控制器级别应用此属性。这是 ASP.netcore 应用增加请求体最大限制推荐方法。还有另一个适用于控制器级别或方法级别的属性来禁用 HTTP 请求大小限制。...该是一个可。将它设置 null 会禁用该限制。现在你可能会想,为什么这对 windows 不起作用,因为 IIS 也使用 Kestrel。

4.8K10

ASP.NET Core 基础知识】--路由和请求处理--路由概念(一)

Web应用,路由是一个至关重要概念,它负责将用户请求映射到相应处理程序,以确保正确页面或资源被呈现给用户。...一、ASP.NET Core路由基础 1.1 路由定义和作用 路由定义: 路由是Web应用一个关键概念,它负责将用户发起HTTP请求映射到相应处理程序,通常是控制器动作方法。...路由表包含了每个路由路由模板、相关控制器和动作方法信息。收到一个请求,路由系统会查找路由表以确定如何映射该请求。...如果用户未提供关键字,则使用默认""。 默认: 默认参数指定固定,当用户请求没有提供相应参数,将使用这些默认。默认通常与可选参数结合使用。...以下是控制器和动作方法路由映射基本概念: 控制器级别的路由映射: 在ASP.NET Core,可以在控制器类上使用[Route]特性整个控制器指定路由模板。

32310

ASP.NETCore学习资料

ASP.NET(ASP.NET 简介) ASP.NET 是一个成熟框架,提供在 Windows 上生成基于服务器企业级 Web 应用所需所有服务。...方法注册:只对方法生效 控制器注册:对控制器所有方法生效 全局注册:对整个项目生效; 3.ASP.NET Core工程文件有哪些 控制台程序 .net core web api 4...有三层含义:一是在HTML代码不会随意插入Javascript代码,只在标签中加一些额外属性,然后被引用脚本文件识别和处理;二是通过脚本文件所增加功能是一种渐进式增强,客户端不支持或禁用了...Javascript网页所提供功能仍然能够实现,只是用户体验会降低;三是能够兼容不同浏览器. 5.Mvc解释一下model、view、controller 模型(Model):模型是应用程序核心...SELECT SNAME,SAGE FROM S WHERE SSEX=' 男' AND SAGE>(SELECT AVG(SAGE) FROM S WHERE SSEX='女') 3)在SC检索成绩学生学号和课程号

15220

Asp.Net WebApi核心对象解析(一)

我们在学习ASP.NET Web API,需要对HTTP协议、web知识有一个比较深入认识,这样在学习ASP.NET Web API时会比较快速上手和应用。...在ASP.NET Web API,一个控制器是处理HTTP请求类。控制器公共方法被称为动作方法或简单动作。Web API框架接收到一个请求,它请求路由到一个动作。...ASP.NET Web API路由运行机制如下:       (1).找到控制器,网络API将“控制器 {}控制变量。      ...Redirect():创建具有指定重定向结果(302 Found)。         ...在ASP.NET Web API如果需要创建控制器,只需要实现IHttpController接口即可,我们看一下IHttpController接口实现代码:    //表示 HTTP 控制器

4.4K70

Asp.net MVC 之 Contorllers(二)

然而,在 ASP.NET MVC ,URL 路由是把传入 URL 映射到 Controller 类和 Action 方法目的。...但是,如果URL参数有默认,那么默认值得部分被认为是可选。因此,对于前面的例子,请求根 URL 时候,该请求就是调用 Home 控制器 Index 方法。...为了确保路由是按照正确顺序被处理,必须按照具体性递减顺序。不管怎么样,我们必须注意, 路由匹配是在整个路由集合中一直尝试匹配。 匹配到以后,将停止匹配,不会继续去匹配更多路由。...例如,将前面的代码添加到一个 ASP.NET MVC 应用程序 Global.asax.cs 文件,然后运行,访问default.aspx页面,会出现一个 HTTP 404 错误。...正如前面所说,经典路由是在应用程序启动基于在Global.asax建立约定。 任何时候请求,URL都是与路由注册模板相匹配。如果匹配,就可以确定请求相应控制器和action方法。

1.9K60

ASP.NET MVC 5 - 给数据模型添加校验器

该评级(Rating)字段最大长度5, 标题最大长度60。标题(Title )和价格 (Price)范围最小长度并没有更改。 请在数据库,检查电影表schema: ?...ASP.NET MVC 验证错误UI 重新运行应用程序,浏览 /Movies URL。 单击Create New链接,来添加一部新电影。在窗体填写一些无效,然后单击Create按钮。...在我们电影示例,我们使用了验证,客户端检测到错误时,form不会被post到服务器;所以第二个Create方法永远不会被调用。...它用来以上两个操作方法来显示初始form,同时在验证出错来重新显示视图。...如果你使用了DataType属性具有一个日期字段,你也必须指明,以确保字段正确地呈现Chrome浏览器DisplayFormat属性。

9K70

ASP.NET5 Beta8可用性

使用现有的System.Web托管模式钩子该组件促进DNX和CLR引导。这个钩子取代了运行应用程序已经开始(但从IIS角度)之后。...具有用于ASP.NET 5两种不同宿主模型引入了许多复杂性和矛盾难以或不可能解决。为了解决这个问题,我们正在中止“太阳神”IIS主机。...) 统一服务故事 统一启动故事(无奇AspNetLoader.dll在bin文件夹) 你会发现,在Visual StudioASP.NET 5项目模板已被更新,包括在应用程序wwwroot...Visual Studio手柄设置DNX_PATH环境变量指向适当DNX版本应用程序。 您发布应用程序在web.config流程路径更新指向您应用程序定义“网络”命令。...本地化和MVC MVC建立在ASP.NET 5新本地化支持,使本地化控制器和视图。 MVC引入一小本地化建立在核心本地化服务附加服务。

1.8K160

注册型网站设计阶段总结

匹配前面的子表达式零次或一次; \d 匹配一个数字字符,等价于[0-9]; * 匹配前面的子表达式零次或多次; 不同选项之间有关联动态对应性 比较麻烦,以后会单独研究一下 检测 全空格或回车定性特性...: var xxx = inputname.trim();//假设已经获得了input框,并且把它赋值给了inputname 这样可以把输入到文本框里字符空格给去掉 再者,如果对于”输入不为...有一些是需要动态选择,比如说: 有一个提交文档选项,是或否,选择是,则会出现提交文档按钮,禁止提交,即不提交;如果选择否,那么不会出现提交选项; 这个实现用js: function yns(...not defined问题 火狐Firebug可以说是给我们web开发提供了许多便利,但是有些时候一些错误却会误导我们,浪费我们时间: 比如页面写了一个function do,但是在运行页面没有执行预期效果...上述情况都会引起Firebug报错,毕竟没法对js错误定位到行,所以“尽信工具则不如无工具” 其他 使用js进行按键屏蔽,鼠标键屏蔽,即屏蔽复制保存等操作 这又是一个在现在web项目中经常遇到需要解决一个问题

2.6K30
领券