asp.net-core-mvc - 同一控制器中具有不同参数的多个端点
问题描述
自从我不得不这样做以来已经有好几年了,我一定很热!
我有我的家庭控制器:
public ActionResult Index(string param1, string param2, string param3)
{
return View();
}
public IActionResult Index()
{
return View();
}
我有 1 个 Index.cshtml 页面。
在我的启动中,cs:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}");
endpoints.MapControllerRoute(
name: "default2",
pattern: "{controller=Home}/{action=Index}/{param1}/{param2}/{param3}");
});
我得到的错误是:
**{"error":"APP:请求匹配多个端点。
解决方案
public class HomeController : Controller
{
// hits when navigating to https://localhost:5001/one/two/three
[HttpGet("{param1}/{param2}/{param3}")]
public IActionResult Index(string param1, string param2, string param3)
{
return View();
}
// hits when navigating to https://localhost:5001/
public IActionResult Index()
{
return View();
}
}
并在 Startup#Configure
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
推荐阅读
- java - API 28 中 getChildFragmentManager() 的替代方法是什么?
- python - 基于自定义方法过滤 django 查询集的最快方法是什么?
- ios - 无法使用类型为“(() -> (), delayFactor: Double)”的参数列表调用“addAnimations”
- javascript - 根据另一个 div 的高度定位 div
- c - 如何从二进制文件中读取反转的数字?
- apache-pig - 如何在 Pig 中比较 BIGINT
- django - Django(PostgreSQL)查询过滤器以排除给定字母
- sql - 如何重置 Sequel Pro 的密码?
- android - 在 Kotlin 中使用片段
- javascript - 根据数组中的对象属性生成带有头部的列表