为控制器使用不同的路由模板

时间:2017-04-03 15:27:17

标签: c# asp.net-core-mvc asp.net-core-routing

是否可以在MVC中更改路由控制器名称?在MVC 5中我会这样做:

{{1}}

现在我所能找到的就是使用控制器的默认名称:

{{1}}

我想为我的路线使用与实际控制器名称不同的名称。你是怎么做到的?

1 个答案:

答案 0 :(得分:6)

你可以在Core

中做同样的事情
[Route("MySpecialSauce")]
public class ProductsController : Controller {

    [HttpGet("GetBy/{id:int}")]//Matches GET MySpecialSauce/GetBy/5
    public MyObject GetBy(int id) {
        return something(id);
    }
}

[controller]是帮助路由模板的令牌替代品。这不是强制性的。

来源Token replacement in route templates ([controller], [action], [area])

  

为方便起见,属性路由支持令牌替换   将标记括在方括号中([])。令牌[action],   [area][controller]将替换为。my_file = input("Enter file name: ") count = 0 with open(my_file, "r") as dup: for line in dup: count = count + 1 linedata = line.split() lastWord = '' for word in linedata: if word == lastWord: print("Found word: {""} on line {}".format(word, count)) lastWord = word dup.close()   操作的动作名称,区域名称和控制器名称   路线已定义。