webapi

WebAPI HelpPage出现Failed to generate the sample for media type 'application/x-www-form-urlencoded'. 错

瘦欲@ 提交于 2019-12-04 14:57:15
WebApi参数页面的示例里,出现如下错误: Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'Vehicle'. 调试查了一下原因,是因为WebAPI的Formatter里,存在一个类型为System.Web.Http.ModelBinding.JQueryMvcFormUrlEncodedFormatter的Formatter,而HelpPage又没有对进行对应的解析导致的。本来想改HelpPage代码,但想想其实不需要,只要把这个Formattter在WebAPI里移除就可以了,如下: 在App_Start的WebApiConfig.cs的Register方法里,加下如下这句将其移除: config.Formatters.Remove(config.Formatters.FirstOrDefault(p => p.GetType() == typeof(System.Web.Http.ModelBinding.JQueryMvcFormUrlEncodedFormatter))); 如果你只要JSON格式,其它不要

webapi(5)

依然范特西╮ 提交于 2019-12-04 12:16:01
typora-copy-images-to: media 第02阶段.前端基本功.webAPI 基础语法 学习目标 理解 什么是BOM 什么是url 重点 掌握页面加载事件 掌握一个完整url的组成部分 掌握location对象常用的方法和属性 掌握history对象常用的方法 掌握navigator对象的userAgent属性的作用 掌握设置定时器的两种方法 掌握移除定时器的方法 ​ 1.BOM 概念: BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。 通俗理解: 把浏览器当做对象,通过访问对象的属性,实现操作浏览器的一组方法 2. 页面加载事件 2.1 load事件 window.onload = function () { // 当页面加载完所有内容(包括图像、脚本文件、CSS 文件等)执行 } 2.2 unload事件 window.onunload = function () { // 当用户退出页面时执行(关闭页面) } 小结: window.onload事件 是页面所有资源加载完成时触发 window.onunload事件 是用户退出页面时触发 3.location对象

webapi(6)

夙愿已清 提交于 2019-12-04 12:15:43
typora-copy-images-to: media 第02阶段.前端基本功.webAPI 基础语法 学习目标 重点 掌握offset系列属性 掌握clientWidth和clientHeight 掌握scroll系列的属性 掌握如何获取浏览器可视区的大小 掌握如何获取整个页面滚动出去的距离 1. 特效 1.1 offset系列(不能赋值只能获取) offsetParent 用于获取定位的父级元素 offsetLeft 距离定位父元素的左偏移量 offsetTop 距离定位父元素的上偏移量 offsetWidth 当前元素的宽度 offsetHeight 当前元素的高度 小问题 : offsetParent和parentNode的区别? offsetParent 返回的是离自己最近的定位父元素 parentNode 返回的是直接父元素 1.2.client系列(也不能赋值) clientWidth 元素可视区的宽度 clientHeight 元素可视区的高度 1.3.scroll系列 scrollLeft 元素中内容左侧滚动出去的距离(可以赋值) scrollTop 元素中内容顶部滚动出去的距离(可以赋值) scrollWidth 元素中内容的宽度(不可赋值 不需要写单位px) scrollHeight 元素中内容的高度(不可赋值) 小结: offset, client,

webapi(4)

我只是一个虾纸丫 提交于 2019-12-04 12:14:26
typora-copy-images-to: media 第02阶段.前端基本功.webAPI 基础语法 学习目标 理解 什么是事件委托 重点 掌握注册事件的其他方式 掌握移除事件的方法 掌握事件对象的常用的属性和方法 知道事件的三个阶段 ​ ​ 1. 注册事件的其他方式 回顾: 刚开始我们给元素注册事件的方式,是通过on+事件名的方式,如下面的示例代码 //html <div id="box"></div> //js var box = document.getElementById('box'); box.onclick = function(){ //code... } 后来,W3C DOM 规范中提供了注册事件监听的另外一种方式 : addEventListener 那么为什么要使用addEventListener呢? 优点: 它允许给一个事件注册多个 listener 。 它提供了一种更精细的手段控制 listener 的触发阶段。(即可以选择捕获或者冒泡)。 它对任何 DOM 元素都是有效的,而不仅仅只对 HTML 元素有效。 语法: element.addEventListener('事件名', 事件处理函数, useCapture); 事件名不需要写on useCapture 是一个boolean值,用于控制事件触发的阶段,不写默认是false false

webapi(2)

拥有回忆 提交于 2019-12-04 12:14:21
typora-copy-images-to: media 第02阶段.前端基本功.webAPI 基础语法 学习目标 重点 掌握DOM中常用的表单元素的属性 掌握DOM中操作元素样式的两种方式 掌握DOM中操作标签的自定义属性方法 ​ 1. DOM 中常用的表单元素的属性 value 用于大部分表单元素的内容获取(option除外) type 可以获取input标签的类型(输入框或复选框等) disabled 禁用属性 checked 复选框选中属性 selected 下拉菜单选中属性 案例 : 点击按钮禁用文本框 设置下拉框中的选中项 全选反选 小结: disabled, checked, selected 这些布尔值属性,在DOM中通过true/false修改状态 true 是让属性的作用生效,false 为不生效 2. DOM中操作样式的两种方式 通过元素的style属性 通过元素的className属性 2.1 通过style属性操作样式 注意: 通过style属性设置样式时,css中要写单位的属性,在js代码中也要加单位 示例代码 : //html <div id="box"></div> //js var box = document.getElementById('box'); box.style.width = '100px'; box.style.height =

webapi(3)

纵饮孤独 提交于 2019-12-04 12:14:05
typora-copy-images-to: media 第02阶段.前端基本功.webAPI 基础语法 学习目标 理解 什么是节点 什么是DOM树 重点 掌握创建元素的三种方式 掌握节点的常用属性和方法 ​ ​ 1. 节点 1.1 什么是节点: 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点(文档,标签,文本,属性,注释) 整个文档是一个文档节点 每个HTML标签是一个标签节点/元素节点 HTML 标签内的文本是文本节点 每个HTML标签的属性是属性节点 注释是注释节点 1.2 什么是DOM树 当浏览器加载文档的时候,会将文档中每一个节点,以树状的结构组织起来,我们将这种结构称为之节点树或DOM树 1.3 节点中常用的属性和方法 1.3.1 节点类型的属性 nodeType 节点的类型 1 元素节点 nodeName 节点的名称 nodeValue 节点值 元素节点的nodeValue始终是null 1.3.2 节点层级的属性 找儿子的属性: children 返回包含所有子元素的伪数组 childNodes 返回包含所有的子节点的伪数组 找父亲的属性: parentNode 返回父节点 找兄弟 nextElementSibling 返回下一个兄弟元素 previousElementSibling 返回上一个兄弟元素 ​ 1.3.3 操作节点的方法

webapi(1)

末鹿安然 提交于 2019-12-04 12:12:53
typora-copy-images-to: media 第02阶段.前端基本功.前端基础.入门语法 基础语法 学习目标 理解 了解DOM中常用的操作 了解document对象 重点 掌握DOM中获取元素的常用方法 掌握如何给元素注册事件 掌握DOM中常用的非表单属性 ​ 1.认识DOM 概念: 文档对象模型(Document Object Model,简称DOM),是 W3C 组织推荐的处理 可扩展标记语言 的标准 编程接口 。 DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言。Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等,Dom技术使得页面的交互性大大地增强。 通俗理解: 把页面上的内容转换成对象的形式,通过操作对象,达到操作页面上标签和标签属性的一组方法 2. DOM 中常用的操作 获取元素 对元素进行操作(设置其属性或调用其方法) 动态创建元素 给元素注册事件 3. document对象 概念: document对象代表在浏览器中加载的页面 4.获取页面中的元素 什么是元素? ​ html中的标签在DOM中称为元素 为什么要获取页面上的元素呢? ​ 因为:我们想要操作页面上的元素,首先需要获取到对应的元素,然后才能进行后续操作 4.1 根据id获取元素 语法: document

WebAPI实现文件下载功能

夙愿已清 提交于 2019-12-04 11:25:24
在WebAPI控制器下返回一个HttpResponseMessage对象,设置相应的内容即可。 Content = new StreamContent(ms)//要返回的流,任意Stream的派生类实例对象即可, 注意在StreamMemory中,要把下标归到流的开始 ,如 ms.Seek(0, SeekOrigin.Begin);其中ms是一个StreamMemory实例对象,否则会造成读取的内容不完整 httpResponseMessage.Content.Headers.ContentType= new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");//这里说明返回的是一个二进制流; httpResponseMessage.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") { FileName = $"{billInfoID}.xls" };//返回的文件的类型及文件名 设置的响应头中的内容,只是按一个标准设置的,其目的是方便客户端识别信息,到底是什么内容由你传的流确定。 EX: public

WebAPI 相关资料

泄露秘密 提交于 2019-12-04 08:59:06
##Intruduction Getting Started with ASP.NET Web API 2 系列文章——Web API从开始到结束 ##Demos Web API Thoughts 1 of 3 - Data Streaming MVC AngularJS Master/Detail CRUD, Filter And Sorting Using WEB API 2 With Stored Procedure RESTful Day #6: Request logging and Exception handling/logging in Web APIs using Action Filters, Exception Filters and NLog Detailed Tutorial for Building ASP.NET WebAPI RESTful Service 有层次结构的资源该如何设计API? Hierarchical Resource Structure in ASP.NET Web API ##Authentication Using Basic Authentication in ASP.NET WebAPI Customize Authentication Header in SwaggerUI using Swashbuckle Don't

.netCore WebApi传输参变化

亡梦爱人 提交于 2019-12-04 03:53:35
.netCore 的 WebApi,一般以前的mvc5,继承自 ApiController ,则是WebApi,采用独有的管道处理模型,再Core中,一般是 继承自 ControllerBase ,控制器类上标注 [ApiController] 1.前端代码 1 //NetCoreWebApi中,传输 application/json; 格式的,后端无需加[FormBody]也能拿到值 2 $.ajax({ 3 type: "post", 4 url: "/api/WebApi/ww", 5 data: JSON.stringify( { a: 1, b: 2,c: 4,"yy":99,"bb":"匹配"} ), //如果没有序列化,后端获取不到,序列化了,WebApi不需要加 FormBody,能拿到值,contentType: "application/json;charset=utf-8"//不加上 默认不是表单的那种也不是json那种 6 contentType: "application/x-www-form-urlencoded",//这个类型无法指定 7 data: { a: 1, b: 2,c: 4,"yy":99,"bb":"匹配"}, 8 }) 2.后端代码 [HttpPost] [Route("ww")] public string Po(KJ k, int