C# 由[…]包围的操作的正确令牌替换是什么?

C# 由[…]包围的操作的正确令牌替换是什么?,c#,asp.net-core,C#,Asp.net Core,仅出于实验目的,我想匹配http://localhost:randomport/home/[隐私]/信息如下 [Route("[controller]")] public class HomeController : Controller { [HttpGet("[[[action]]]/{xxx}")] public IActionResult Privacy(string xxx) { return Content(xxx); } } 但是,

仅出于实验目的,我想匹配http://localhost:randomport/home/[隐私]/信息如下

[Route("[controller]")]
public class HomeController : Controller
{
    [HttpGet("[[[action]]]/{xxx}")]
    public IActionResult Privacy(string xxx)
    {
        return Content(xxx);
    }
}
但是,它会产生修剪错误:

错误:处理模板“[controller]/[[action]]]/{xxx}”时,找不到令牌“action]”的替换值。可用令牌:“操作,控制器”。若要在路由或约束中使用'['或']'作为文本字符串,请改用'['或']]'

问题 由[…]包围的操作的正确令牌替换是什么

诸如:localhost:xxxx/Home/Privacy/someString这样的URL现在可以工作了


像:localhost:xxxx/Home/Privacy/someString这样的URL现在可以工作了

很抱歉,一开始我没有。我的猜测是,你最初在两边都有一个太多的括号。引号是没有必要的,我已经修改了我的答案。似乎我不知道你想要实现什么。如果您想在URL中使用括号,那么只需在HttpGet中使用每个括号两次。这使您的URL看起来像这样:localhost:xxxx/Home/[[notthenameofmethodjustsomething]]。但是,如果要在URL中写入方法名称,请使用[action]注释。这使您的URL看起来像这样:localhost:xxxx/Home/nameofmethodi在我完成之前错误地发布了我的评论。我会用我认为你最可能需要的来编辑答案。啊啊啊啊,我终于明白你想要什么了。我只是尝试了几种方法来测试它,但似乎没有任何效果。很抱歉不过我很感兴趣,这个练习有什么意义吗?或者只是想看看你能不能?对不起,一开始我没有。我的猜测是,你最初在两边都有一个太多的括号。引号是没有必要的,我已经修改了我的答案。似乎我不知道你想要实现什么。如果您想在URL中使用括号,那么只需在HttpGet中使用每个括号两次。这使您的URL看起来像这样:localhost:xxxx/Home/[[notthenameofmethodjustsomething]]。但是,如果要在URL中写入方法名称,请使用[action]注释。这使您的URL看起来像这样:localhost:xxxx/Home/nameofmethodi在我完成之前错误地发布了我的评论。我会用我认为你最可能需要的来编辑答案。啊啊啊啊,我终于明白你想要什么了。我只是尝试了几种方法来测试它,但似乎没有任何效果。很抱歉不过我很感兴趣,这个练习有什么意义吗?或者只是想看看你是否可以?我想说这是AttributeRouteModel中的一个bug。您可以在github上打开有关此用例的问题。@nemesv:Reported。谢谢你的评论。我想说这是AttributeRouteModel中的一个bug。您可以在github上打开有关此用例的问题。@nemesv:Reported。谢谢你的评论。
[Route("[controller]")]
    public class HomeController : Controller
    {
        [HttpGet("[action]/{xxx}")]
        public IActionResult Privacy(string xxx)
        {
            return Content(xxx);
        }
    }