【发布时间】:2021-09-19 17:39:42
【问题描述】:
我有 Asp.net core 3.1 目标应用程序。所以基本上 HomeController 我们正在使用与视图相关的动作触发器,它工作正常。但我在 HomeController 中有另一个名为 PostData 的 Get 方法,但它没有得到触发器。而且总是返回Index方法View html作为响应。
获取网址:http://localhost:9062/Home/PostData?detail=test
HomeController:
public class HomeController : Controller
{
public HomeController(StatelessServiceContext context)
{
}
public async Task<IActionResult> Index()
{
return View();
}
[HttpGet]
public async Task<string> PostData(string detail)//not getting call
{
return "PostData";
}
}
Startup.cs
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});
我已经尝试过,但还没有解决这个问题?
提前致谢。
【问题讨论】:
-
我不确定它是否有帮助,但 UseMvc 真的只适用于 dotnet core 2.2 及更低版本。您应该改用 UseEndpoints:docs.microsoft.com/en-us/aspnet/core/migration/…
-
你有没有试过像
[HttpGet("postdata")]和当你叫它http://localhost:9062/PostData?detail=test? -
是的,我试过
[HttpGet("postdata")],但它不起作用 -
@r08 你把它叫做
http://localhost:9062/PostData?detail=test?
标签: c# asp.net-core .net-core asp.net-core-routing