ASP.NET MVC URI参数命名

Mor*_*Dev 0 c# asp.net asp.net-mvc asp.net-web-api

我正在使用ASP.NET MVC Web Api控制器,我只是一个初学者,所以也许我的问题非常简单......

我想将一个名为$filterinput 的参数作为控制器的方法:

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

    return (Ok());
}
Run Code Online (Sandbox Code Playgroud)

但是我不能这样做,因为$filter它不是一个有效的C#变量名!

无论如何(由于客户的要求)我真的需要调用传递$filter=somethingURI的方法...

我能怎么做?有没有一种方法可以"映射"URI参数的命名,这样在代码中我可以使用变量名filter(没有美元),然后指示MVC层映射$filterfilter

Chr*_*rdt 5

设置Name属性FromUriAttribute:

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

    return (Ok());
}
Run Code Online (Sandbox Code Playgroud)