相关疑难解决方法(0)

是否可以从查询字符串获取字典?

我的控制器方法如下所示:

public ActionResult SomeMethod(Dictionary<int, string> model)
{

}
Run Code Online (Sandbox Code Playgroud)

是否可以仅使用查询字符串来调用此方法并填充“模型”?我的意思是,键入如下内容:

ControllerName/SomeMethod?model.0=someText&model.1=someOtherText
Run Code Online (Sandbox Code Playgroud)

在我们的浏览器地址栏中。可能吗?

编辑:

看来我的问题被误解了-我想绑定查询字符串,以便自动填充Dictionary方法参数。换句话说-我不想在我的方法中手动创建字典,但是我会用一些自动数学的.NET绑定器来创建它,所以我可以像这样立即访问它:

public ActionResult SomeMethod(Dictionary<int, string> model)
{
    var a = model[SomeKey];
}
Run Code Online (Sandbox Code Playgroud)

是否有自动装订机,足够聪明地做到这一点?

c# query-string asp.net-mvc-4

7
推荐指数
3
解决办法
5299
查看次数

如何在 ASP.NET Core WebApi 中将键值对传递给 HttpGet?

我正在创建一个 WebApi,我需要为我的端点获取一个键值对GET。我发现了一些在POST方法总线中使用字典的例子,这似乎不起作用GET

到目前为止我尝试过这个:

[HttpGet]
public IActionResult Get([FromQuery] Dictionary<string, string> myVar)
{
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 swagger 来测试 API,如果我通过了,{"key":"value"}我将得到带有一对的字典,值是我传入的整个对象。( {[myVar, {"key":"value"}]})

将多个键值对传递给 WebApi forGET方法的正确方法是什么?

编辑:根本问题是我正在使用 swagger (虚张声势)来测试我的端点。目前这个问题不支持github 上的动态查询参数 Issue。一旦将 OpenApi v3 支持添加到github 上的 swashbucle Issue 中,它就应该支持它。

c# swagger-ui asp.net-core-webapi asp.net-core-2.0

4
推荐指数
1
解决办法
3354
查看次数