简体   繁体   English

ASP.NET MVC URI参数命名

[英]ASP.NET MVC URI parameters naming

I am working at an ASP.NET MVC Web Api controller, and I am just a beginner so maybe my question is quite trivial... 我在ASP.NET MVC Web Api控制器上工作,我只是一个初学者,所以也许我的问题很琐碎...

I'd like to take a parameter named $filter as input to my controller's method: 我想将名为$filter的参数作为控制器方法的输入:

[Route("List")]
[HttpGet]
public IHttpActionResult List([FromUri] string $filter = null)
{
    // ... code here ...

    return (Ok());
}

However I can't do like that, because $filter is not a valid C# variable name! 但是我不能那样做,因为$filter不是有效的C#变量名!

Anyway (due to customer requests) I really need to invoke that method passing $filter=something in the URI... 无论如何(由于客户要求),我确实需要调用该方法,以在URI中传递$filter=something

How can I do? 我能怎么做? Is there a method to "map" the naming of URI parameters, so that in code I can use the variable name filter (without the dollar) and then instructing the MVC layer to map $filter onto filter ? 有没有一种方法可以“映射” URI参数的命名,以便在代码中可以使用变量名filter (不带美元),然后指示MVC层将$filter映射到filter

Set the Name property of FromUriAttribute : 设置FromUriAttributeName属性:

[Route("List")]
[HttpGet]
public IHttpActionResult List([FromUri(Name = "$filter")] string filter = null)
{
    // ... code here ...

    return (Ok());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM