- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试通过 GET 请求将一些参数发送到查询字符串中的 Controller 。我将查询字符串中的所有参数都设置为一个 Dictionary<string, string>
使用 [FromQuery]
.它运行良好,直到其中一个参数名称包含点 ( .
) 符号。我检查了 Request.Query
对象,它看起来解析得很好,但我的 Dictionary 对象得到了这个,确切的项目是错误的。所以它看起来像 [FromQuery]
中的错误 Binder 或者我做错了什么。调试值为 Request.Query
的代码和我的parameters
下面:
这是发送的查询字符串的样子: ?query=&InspectionType=Safety&ItemType=InspectionPoint&RecordParentGUID=9275bee2-0a2d-461c-8835-51880e76f035&parent.ResultClassCode=parent.ResultClassCode
更新:从在 .net 开发团队工作的 Eilon Lipton 那里得到答案,简而言之 - 这是设计使然。点号.
和 [
, ]
是用于表示属性和索引器的特殊的。此处提供完整答案:https://github.com/aspnet/Mvc/issues/6746
最佳答案
. (点)、[ 和 ] 字符在 ASP.NET MVC Core 内部随处使用,作为模型绑定(bind)过程中的路径分隔符,而且(据我所知)没有办法解决这个问题。
如果您想从查询字符串中访问原始值,Request.Query
是迄今为止最简单的解决方案。
把它变成一个纯Dictionary<string, string>
:
Request.Query.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
关于c# - ASP.NET 核心 FromQuery 获取内部带有点号的无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45997570/
原文链接: https://www.cnblogs.com/ysmc/p/17663663.html 。 最近技术交流群里,还有不少小伙伴不知道 FromRoute、FromQuery
我们可以在 Controller 操作中使用 [FromQuery(Name"param")] 来指定如何在 uri 中使用传递的参数,如下所示: [HttpGet()] public IAction
public class Filter { public string Property1 { get;set; } public string Property2 { get;set
public class Filter { public string Property1 { get;set; } public string Property2 { get;set
我正在尝试使用 Razor 页面通过 ASP.NET 构建一个具有简单表单的简单页面,但无法弄清楚如何处理特定的回发。特别是(通过我无法控制的因素)我得到一个带有单个小写和 kebab 大小写查询参数
我在查询位于欧盟的 BigQuery 表/数据集时遇到问题。此处报告了该问题:https://github.com/GoogleCloudPlatform/DataflowJavaSDK/issues
我的 Web API 中的 Get 方法有问题:API 获取对象但使用默认值。 例如: myRefitClient.GetSummary(new MyClass() { Prop = 1 }); We
如何使用FromQueryAttribute获取一个复杂的对象? [HttpGet] public IActionResult Get([FromQuery] DataGridRequest requ
我注意到的一件事是 BigQueryIO.read().fromQuery() 的性能比 Apache Beam 中的 BigQueryIO.read().from() 的性能要慢得多。为什么会发生这
我正在尝试对 BigQuery 表执行查询,提取一列并填充到文件中。下面的代码抛出异常。我可能是错的,但似乎该过程正在尝试将临时结果以 avro 格式写入临时位置,从中读取数据并抛出强制转换异常。 p
我正在尝试通过 GET 请求将一些参数发送到查询字符串中的 Controller 。我将查询字符串中的所有参数都设置为一个 Dictionary使用 [FromQuery] .它运行良好,直到其中一个
我有一个 Action : [HttpGet] [Route("foo")] public ActionResult Foo([FromQuery] MyClass request) { va
public class InputModel { public string Thing { get; set; } public DateTime AnotherThing { g
在 ASP.NET Core 中,我需要将 ViewModel 成员数据绑定(bind)到传入的请求数据。我不在乎它来自表单帖子、查询字符串还是路由参数。 似乎这些来源中的每一个都有新的属性,但没有一
我尝试将 [FromQuery] 与 Azure Function v3 一起使用,但收到以下错误: Cannot bind parameter 'search' to type String. 对于
我熟悉 FromBody 和 FromRoute。他们似乎很清楚。 我使用 FromUri 来处理映射到列表或 string[] 的多值参数。 FromQuery 听起来很相似,但有什么区别吗? 最佳
我尝试将 [FromQuery] 与 Azure Function v3 一起使用,但收到以下错误: Cannot bind parameter 'search' to type String. 对于
使用c#,代码是这样的 DynamoDBContext context = new DynamoDBContext(client, new DynamoDBContextConfig(
我目前发现您可以对原始 sql 查询进行水合。 我有以下查询: DB::table(DB::raw('(SELECT *, Y(location) AS longitude, X(location)
我有一些类似的代码: [HttpGet("SearchStuff")] public IActionResult SearchStuff([FromQuery]DateTime from,
我是一名优秀的程序员,十分优秀!