c# - ASP.net Core:浏览器找不到控制器的动作
问题描述
我新建了一个简单的控制器 但是当我在浏览器中输入以下地址时,找不到它!
http://localhost:5000/Test/Index
Test.cs:
using Microsoft.AspNetCore.Mvc;
namespace Test.Controllers
{
[Route("[controller]/[action]")]
public class TestController : Controller
{
[HttpGet]
public IActionResult Index()
{
return Content("Welcome");
}
}
}
启动.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace Test
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddRazorPages().AddRazorRuntimeCompilation();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapRazorPages();
});
}
}
}
我在哪里做错了?
解决方案
首先编辑你的控制器属性:
[Route("[controller]/[action]")]
至
[Route("[controller]")]
和
尝试这个
app.UseEndpoints(endPoints =>
{
endPoints.MapControllerRoute(
"default",
"{controller}/{action}/{id?}");
});
还要确保您使用正确的端口 5000 或 5001 是默认值
推荐阅读
- xml - XSLT 2.0 | 修改重复x次的节点的子节点
- c - 在 rasbian os 上安装星号 1.8 时收到对 SSLv3-client-method 的未定义引用
- java - 我如何在不使用 Either 的情况下在 java 中做到这一点?
- google-cloud-platform - 谷歌云平台创建防火墙规则允许来自一个且仅特定国家的请求
- bluetooth - 蓝牙(Linux/BlueZ)配对超时还是什么?
- visual-studio - Visual Studio 2019 忽略包依赖项
- java - 无法打开我发送到前端并从浏览器下载的 Apache POI 生成的 .xlsx(消息:文件损坏且无法打开)?
- node.js - 不能存根不存在的属性“创建”猫鼬文档
- java - 在 Spring Boot 应用程序的控制器中设置日期值(Java 8)
- junit5 - 带有断言错误的失败测试显示为诱惑中的损坏