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

对于包含破折号(“-”)的查询参数,是否可以使用默认的ASP.Net WebApi参数绑定?

对于包含破折号的查询参数,默认的ASP.Net WebApi参数绑定是不支持的。ASP.Net WebApi参数绑定是通过将查询参数的名称与控制器方法的参数名称进行匹配来实现的。由于破折号在C#中被视为非法字符,因此无法直接将包含破折号的查询参数与控制器方法的参数进行绑定。

解决这个问题的一种方法是使用自定义的参数绑定器。通过创建一个继承自System.Web.Http.ModelBinding.IModelBinder接口的自定义绑定器,可以实现对包含破折号的查询参数的绑定。在自定义绑定器中,可以通过解析查询字符串并将其映射到控制器方法的参数来实现绑定。

另一种方法是使用URL编码来处理包含破折号的查询参数。在客户端发送请求时,可以使用encodeURIComponent()函数对包含破折号的查询参数进行编码。在服务器端接收到请求后,可以使用HttpUtility.UrlDecode()方法对查询参数进行解码,以获取原始的参数值。

需要注意的是,无论使用哪种方法,都需要在控制器方法的参数上添加适当的特性来指示参数绑定器或解码方法的使用。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

ASP.NET WebAPI参数绑定

ASP.NET WebAPI参数绑定WebAPI 调用 Controller 上方法时, 必须为其参数赋值, 这个过程就是参数绑定。...本文介绍 WebAPI 如何绑定参数, 以及如何进行自定义。 WebAPI 默认使用下面的规则进行参数绑定: 简单类型, WebAPI 尝试从 URL 中获取它值。...使用 Type Converter 通过创建 Type Converter , 实现从字符串转换方法, 可以WebAPI 将复杂类型参数视为简单类型参数。...; 最后, 使用上面提到默认规则: 如果参数是一个简单类型或者指定了类型转换器, 从 URI 绑定, 相当于在参数上添加 [FromUri] 标记; 否则, 尝试从 HTTP 请求正文中读取...如果默认绑定不能满足需求, 也可以实现自定义 IActionValueBinder 来替换掉 Web API 默认实现。

2.5K10

在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

实际上到此为止,Web APIWeb Host寄宿工作就已经完成,我们可以利用浏览器来调用寄宿Web API来判断寄宿工作是否成功。...对于Web Host来说,它会利用BuildManager获得当前项目直接或者间接引用程序集,但是对于Self Host来说,HttpController类型解析在默认情况下只会针对加载到当前应用程序域中程序集列表...Bootstrap是ASP.NET MVC 5默认支持框架,当我们利用Visual Stduio创建一个ASP.NET MVC项目时,项目目录下就包含了Bootstrap相关CSS和JavaScript...HTML 如下所示是页面主体部分包含HTML,ViewModel相关成员会绑定到相应HTML元素上。...值得一提是,当绑定方法被执行时,KO会将当前绑定上下文作为参数

4.5K110

ASP.NET (Core)WebApi参数传递实操演练

一、ASP.NET (Core)WebApi参数传递实操演练 1、什么是contentType和dataType?...Asp.NET Web API中Controller是如何解析从客户端传递过来数据,然后赋值给Controller参数,也就是参数绑定或者模型绑定。 常见绑定方式有如下四种。...查询字符串(QueryStrings):通过查询字符串中参数绑定,如name=Jeffcky&id=1,此时name和id将进行绑定。...3、ASP.NET WebAPI中FromUri和FromBody两类特性区别 1)、【FromUri】特性 应用【FromUri】特性,Web API Action中参数将从URL中解析数据。...查询字符串(QueryStrings):通过查询字符串中参数绑定,如name=Jeffcky&id=1,此时name和id将进行绑定,对应WebAPI中媒体 类型格式化器JsonMediaTypeFormatter

3.7K20

Asp.Net Web API 2第六课——Web API路由和动作选择

默认值中可以使用特殊RouteParameter.Optional值。...这个默认值也可以包含未出现在路由模板中值。若这条路由匹配,则该值会被存储在路由字典中。...对于每一个动作,最多只有一个参数可以读取请求正文。 它也可以重写这种默认绑定规则。See WebAPI Parameter binding under the hood。...其基本思想是,可以从URI、或请求体、或一个自定义绑定来获取参数值。对于来自URI参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含了一个用于此参数值。...但是在这种情况下,这个框架不能提前知道是否这个参数绑定到一个特殊URI。为了查明情况,这个框架需要调用这个绑定。选择算法目的是在调用绑定之前根据静态描述来选择一个动作。

93320

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

,或者经常使用,因为对于其他分布式技术问题,在使用时候会比较繁琐,但是Asp.Net WebApi可能会简便和快捷很多。...ASP.NET WebAPI使用HTTP方法,而不是URI路径,以此来选择动作。还可以使用MVC样式路由WebAPI。...(3).在路由模板其他占位符变量,诸如{ID},被映射到动作参数。    对于ASP.NET Web API路由机制就讲解这么多,更多内容大家可以自己去了解。...(HTTP响应body数据格式可以客户端和服务器进行协商,默认为json格式,对于json格式好处,在这里就不做介绍,但是个人觉得json格式应该会成为以后数据格式重心。)   ...ASP.NET Web API框架支持从请求元素到操作方法参数绑定对于HTTP响应值转换成适当HTTP响应消息正文。

4.4K70

.net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍

Asp.Net Core 上面由于现在前后端分离已经是趋势,所以asp.net core MVC用没有那么多,主要以WebApi作为学习目标。...在创建界面有几项配置: 配置Https 启用Docker 使用控制器 启用OpenAPI支持 不使用顶级语句 其中配置Https 是WebApi是否使用https协议,启用docker是配置服务是否docker...现在Kestrel是包含在程序中,这个Kestrel 以后再讨论。...2)绑定参数推理:绑定源特性定义可找到操作参数位置,接口参数通过推理规则应用于操作参数默认数据源。...日志记录 日志记录是基础知识点,这部分内容在我们之前温故知新中已经详细介绍过,可移步了解:.net 温故知新:【9】.NET日志记录 ILogger使用和原理 以上为我们入门WebApi创建一个默认项目

1.7K30

ASP.NET WebApi 基于OAuth2.0实现Token签名认证

一、课程介绍 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据WebApi服务,最重要是数据安全性。那么对于我们来说,如何确保数据安全将是我们需要思考问题。...为了保护我们WebApi数据接口不被他人非法调用,我们采用身份认证机制,常用身份认证方式用Https基本认证(结合SSL证书),在ASP.NET WebService服务中可以通过SoapHead验证机制来实现...,那么在ASP.NET WebApi中我们应该如何保证我们接口安全呢?...1.1、本次分享课程包含知识点如下: 1)、对ASP.NET WebApi 如何实现身份认证进一步了解和学习。...4)、ASP.NET WebAPI自定义HTTP参数绑定支持多参数POST请求。(强烈推荐) 5)、ASP.NET WebApi 基于OAuth2.0实现Token签名认证。

2.8K30

ASP.NET WebApi 基于分布式Session方式实现Token签名认证(发布版)

一、课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据WebApi服务,最重要是数据安全性。那么对于我们来说,如何确保数据安全将会是需要思考问题。...在ASP.NETWebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET WebApi中我们应该如何保证我们接口安全呢?...1.1、本次分享课程包含知识点如下: 1)、对ASP.NET WebApi 如何实现身份认证进一步了解和学习。 2)、ASP.NET 如何实现将自定义Session存储在Redis中。...3)、.NET开源轻量级HTTP网络请求框架RestSharp在ASP.NET WebApi基本运用。 4)、ASP.NET WebAPI自定义HTTP参数绑定支持多参数POST请求。...3.2、基于分布式Session方式实现Token认证基本思路如下: 基本流程上是这样: ●用户使用用户名密码来请求服务器。

2.3K30

ASP.NET WebApi 基于JWT实现Token签名认证(发布版)

一、前言 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据WebApi服务,最重要是数据安全性。那么对于我们来说,如何确保数据安全将会是需要思考问题。...在ASP.NET WebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET WebApi中我们应该如何保证我们接口安全呢?...1.1、本次分享课程包含知识点如下: 1)、对ASP.NET WebApi 如何实现身份认证进一步了解和学习。 2)、掌握.NET中JWT组件基本运用。...3)、.NET开源轻量级HTTP网络请求框架RestSharp在ASP.NET WebApi基本运用。 4)、ASP.NET WebAPI自定义HTTP参数绑定支持多参数POST请求。...2.3、JWT构成 三、WebApi如何实现JWT实现Token签名认证原理讲解 3.1、ASP.NET WebAPI如何保证客户端以安全方式进行访问 3.2、基于JWT实现Token签名认证基本思路如下

1.5K30

从 MVC 到使用 ASP.NET Core 6.0 Minimal API

Startup MVC dotnet new webapi ASP.NET 模板取消了Startup类并利用了 C# 10 顶级语句功能,因此我们有一个Program.cs包含所有引导代码文件...; 所述pattern指定路线不同区段,并且允许指定默认值。参数可以利用 ASP.NET 路由约束语法[3]来限制接受值。 对于 API,建议使用基于属性路由[4]。...在某些情况下,您可能希望从查询参数绑定复杂类型。我喜欢为具有多个过滤选项搜索端点执行此操作。...page=2&pagesize=20将满足上述操作参数请求。 上面的示例还通过将可选参数标记为可为空并可选地提供默认值来演示可选参数使用。 这对于复杂类型工作方式略有不同。...复杂类型将从请求正文中自动绑定,而简单类型将从路由或查询字符串参数绑定

7.5K10

快速入门系列--WebAPI--01基础

ASP.NET MVC和WebAPI已经是.NET Web部分主流,刚开始时两个公用同一个管道,之后为了更加轻量化(WebAPI是对WCF Restful轻量化),WebAPI使用了新管道,因此两者相关类命名空间有细微差异...集成Windows认证可以很好解决该问题,它默认以登录机器Windows账号名义来访问被授权资源没,用户密码被包含在请求携带安全令牌中,非常方便,该方式最终使用NTLM和Kerberos协议来完成...此外,客户端需要在IE设置-》高级中,开启Windows集成认证,默认是开启。在使用HttpClient时,可以使用以下方式,简化调用。...Tip:对于数字证书想说是,一定要把它才分开了理解,大体包含三部分,公钥信息、签名信息和其他信息。...步骤1:在未目标站点添加https绑定之前,我们需要为它准备一张证书,可以用makeCert.exe工具,也可以使用iis管理器来创建自我签名证书。

2.2K70

.NET Core 学习资料精选:入门

如果需要进行旧项目升级可以参考文章:《.NET项目迁移到.NET Core操作指南》 VS和.NET Core安装 VS2019安装教学 VS2019正式版注册码秘钥 修改nuget包默认存放路径,...路由 ASP.NET Core 中模型绑定 ASP.NET Core 中自定义模型绑定(IModelBinder) ASP.NET Core 中 URL 重写中间件 依赖注入(IOC、DI) 什么是控制反转...(可以使用autofac或者其他来实现属性注入) ASP.NET Core 中依赖注入N种玩法 ASP.NET Core 自定义特性实现属性注入 ASP.NET Core 原生DI实现批量注册 可以参考...ASP.NET Core 中如何注入同一个接口多个实现 案例1:使用nlog时,想根据需要使用不同配置文件Nlog.config 写日志时,就可以使用文章中介绍 Factory 命名注入方案来实现...Core WebAPI 创建ASP.NET Core Web API (ControllerBase、参数绑定源) ASP.Net Core WebAPI 几种版本控制对比 使用 Web API 约定

3.8K20

快速入门系列--WebAPI--04在老版本MVC4下调整

WebAPI v1.0(和ASP.NET MVC4在一起版本)很多类和接口并不存在,同时对Task异步编程(ApiController默认提供异步执行方法)支持还有一些欠缺(缺少不少方便扩展方法...参数绑定 包括ModelBinder和MediaTypeFormatter两种方式,与MVC不同(MVC均使用ModelBinder进行绑定)。...: 异步接口和同步基类 用途 IAuthenticationFilter AuthorizationFilterAttribute 认证过滤器可以参数绑定发生以前运行,它们计划过滤没有正确认证且请求争议操作请求...ModerBinder,非常简单,但可以帮助实现json数据绑定,简化使用。...当然使用JQueryform.serialize(),将数据转化为form提交,然后应用默认绑定器也是ok

1K60

快速入门系列--WebAPI--03框架你值得拥有

接下来进入是俺在ASP.NET学习中最重要WebAPI部分,在现在流行互联网场景下,WebAPI可以和HTML5、单页应用程序SPA等技术和理念很好结合在一起。...所谓ASP.NET WebAPI,其核心概念就是构建REST风格Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前SOAP和XML-RPC架构风格有很大不同。...    接下来,介绍ASP.NET WebAPI服务器管道,这一块和之前学习ASP.NET MVC管道很相似,但也有一些差异,不过个人感觉这个管道更加像J2EE管道了。...Model元数据解析 与MVC基本一致 Action参数绑定 借助HttpParameterDescriptor、HttpActionBinding,通过HttpParameterBinding对象...属性BaseAddress用于指定WebAPI基地址,DefaultRequestHeader用于添加任意报头,MaxResponseContentBufferSize表示读取缓存区大小,默认2G,

2K90

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

在谈WebApi处理架构之前,我们还是来看一下微软为WebApi提供海报,这里就不拿图了,需要看可以点击下载:下载地址     Asp.Net Web Api处理架构可以分为三层,分别是托管层、消息处理程序管道...控制器处理层:控制器和操作是在这一层进行调用,参数再次绑定和验证,HTTP响应消息也在这里创建。     对于托管层测说明,会在下面进行讲解。...(在一个owin兼容服务器上建立一个webapi层)      在使用web托管时,所使用ASP.NET管道和路由功能,将HTTP请求转发到一个新ASP.NET处理程序,HttpControllerHandler...,根据参数HttpRequestBase可知,该方法接受到HTTP请求后,对消息进行处理,bufferInput参数判断传入是否为流对象,传入流对象,进入LazyStreamContent类进行处理...介绍完毕HttpClient对象,对于HttpClient实际操作就不做介绍,HttpClient对象使用非常简单,但是该类底层实现还是比较复杂。

3.1K100

WebAPI下的如何实现参数绑定

本文将概述在WebAPI方式下将如何将参数绑定到一个action方法,包括参数是如何被读取,一系列规则决定特定环境采用那种绑定方式,文章最后将给出一些实际例子。...实际上,WebAPI使用model binding读取查询字符串(query string)内容进行参数绑定使用Formatters读取主体内容 (body content)进行参数绑定。...这意味着MVC参数绑定可以反复从body中查找参数片断。然而,在WebAPI中,请求主体(HttpContent) 只能被读取一次,不被缓存,只能向前读取流。...由于action签名中并不包含任何 负责类型,WebAPI将永远不会读取request content stream,因而这里action方法可以读取它。...WebAPI不缓存request body,因而默认将不对request body应用model binding解析。 WebAPI绑定完全可以通过action签名类型来决定。

1.5K60

ASP.NET WebAPI构建API接口服务实战演练

1.2、本葵花宝典手册课程包含知识点如下: 1)、与Web API第一次亲密接触,"奇葩"默认路由配置  2)、 WebApi输出格式有点"丑",选择XML和JSON哪一个格式? ...3)、Web API "奇葩"参数传递,看着一招就够了。 4)、ASP.NET WebApi标准格式化统一输出响应报文数据 。...二、手把手教会用ASP.NET WebAPI构建API接口服务 2.1、与Web API第一次亲密接触,"奇葩"默认路由配置 王小二刚兴致勃勃打开葵花宝典手册,一上来就遇到404访问不了情况。...对于ASP.NET Web API内部实现来讲,我们请求最终将定位到一个具体Action上。所以说,ASP.NET Web API路由就是把客户端请求映射到对应Action上过程。...2.3、Web API "奇葩"参数传递,看着一招就够了 王小二好不容易把输出格式四不像问题解决了,但是在使用POST多传递几个参数情况下,就要注意[FromUri] ,[FromBody]带来限制

1.1K20

ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi用法与调试

1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台BLL和DAL层 2:ASP.NET MVC5+EF6+EasyUI...后台管理系统(2)-WebApi与Unity注入-配置文件 3:ASP.NET MVC5+EF6+EasyUI 后台管理系统(3)-MVC WebApi 用户验证 (1) 4:ASP.NET MVC5...+EF6+EasyUI 后台管理系统(4)-MVC WebApi 用户验证 (2) 以往我们讲了WebApi基础验证,但是有新手经常来问我使用方式 这次我们来分析一下代码用法,以及调试方式...从图中可以看出,每一个控制器接口都会列出来,并根据注释和参数生成文档,全自动 点击接口可以看到参数和请求方式 ?...按照第二点获得token,配置到Postman可以获得数据 ? 1.查询 ? 2.创建 ? 3.修改 ? 4.获取明细 ? 5.删除 ?

2.1K30

ASP.NET MVC编程——路由

MapRoute有多个重载方法,所有的参数含义如下: 参数名称 参数类型 注释 name string 路由名称 url string Url模式 defaults object 默认路由值对象 constraints...如constraints:new {id=@"\d+"}限制id只能是数值类型 规则:从前到后逐段匹配,请求URL参数少于定义URL时,默认配置补全对应参数。...约定路由中控制器和操作用controller和action表达。 段也可以包含字面值。...匹配现有文件 通过设置RouteCollection.RouteExistingFiles属性来确定是否可以匹配到现有文件。...以上面输入地址为例: 浏览器请求耗时 服务端响应耗时 点击下面的图标查看更加详细信息 展示详细信息界面如下所示: 从上图中可以看到配置,运行环境,模型绑定,请求,路由,服务器,时间统计等等。

1.7K120
领券