为什么我只能在控制器 Blazor/aspnet core 3 上调用一个操作?
Why can I only call one action on a controller Blazor / aspnet core 3?
所以我在控制器中有两条路由,有 2 个获取。尝试从 Razor 调用它时,只会调用第一个。我不确定是否需要向启动项或属性添加一些内容。
[ApiController]
[Route("[controller]")]
public class TestController : BaseController
{
[HttpGet]
public async Task<IActionResult> Index()
{
return Content("1");
}
[Route("/callback")]
[HttpGet("[controller]/[action]")]
public async Task<IActionResult> Callback(string state, string code)
{
return Content("2");
}
}
在我的启动中,我配置了以下端点
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html");
});
然后我在我的 razor 文件代码部分使用一些脚本来调用控制器
var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri(Navigation.BaseUri);
var response = await httpClient.GetAsync($"Test/callback?code={Code}&state={State}");
但是只能调用Index路由
[Route("/callback")]
应该是
[Route("/Test/callback")]
所以我在控制器中有两条路由,有 2 个获取。尝试从 Razor 调用它时,只会调用第一个。我不确定是否需要向启动项或属性添加一些内容。
[ApiController]
[Route("[controller]")]
public class TestController : BaseController
{
[HttpGet]
public async Task<IActionResult> Index()
{
return Content("1");
}
[Route("/callback")]
[HttpGet("[controller]/[action]")]
public async Task<IActionResult> Callback(string state, string code)
{
return Content("2");
}
}
在我的启动中,我配置了以下端点
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html");
});
然后我在我的 razor 文件代码部分使用一些脚本来调用控制器
var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri(Navigation.BaseUri);
var response = await httpClient.GetAsync($"Test/callback?code={Code}&state={State}");
但是只能调用Index路由
[Route("/callback")]
应该是
[Route("/Test/callback")]