【发布时间】:2018-10-06 19:09:26
【问题描述】:
我已经定义了这样的地图路线:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=User}/{action=Student}/{id?}");
});
我有一个带有属性路由的 API 操作,如下所示:
[Route("api/User")]
public class UserApiController : Controller
{
....
[HttpGet]
[Route("Teacher")]
public async Task<IEnumerable<UserApiVM>> GetTeachers()
{
....
}
}
我可以访问像“http://api/User/Teacher”这样的直接网址。
现在我想使用@URL.Action 帮助程序或任何其他帮助程序生成该 url,但我不知道如何。我试过了
@Url.Action("Teacher","UserApi")
但它找不到控制器。
顺便说一句,控制器是控制器位于名为“Controllers”的文件夹中,而 API 控制器位于“Controllers”文件夹内的名为“API”的文件夹中。
谢谢!
【问题讨论】:
标签: asp.net-mvc asp.net-core-mvc attributerouting