无法浏览ASP.NET Core 8 MVC Web应用,请求解方案
解决ASP.NET Core 8 MVC中无法访问GetName方法的问题
问题场景
- 创建了ASP.NET Core 8 MVC Web应用
- 添加了
FirstController控制器,其中包含返回字符串的GetName()方法 - 访问应用时出现无法浏览的错误
项目结构截图:
控制器代码:
using Microsoft.AspNetCore.Mvc; namespace MVCWebApp191.Controllers { public class FirstController : Controller { public string GetName() { return "Vivek Anand"; } } }
错误截图:
解决方案
1. 使用正确的访问URL
ASP.NET Core MVC默认遵循{controller}/{action}的路由规则,要访问FirstController中的GetName方法,你需要在浏览器中访问:http://localhost:<端口号>/First/GetName
如果直接访问根路径(比如http://localhost:<端口号>),会因为找不到默认的Home/Index路由而报错。
2. 修改默认路由配置(可选)
如果希望直接访问根路径就能返回GetName的结果,可以修改Program.cs中的默认路由规则,将默认控制器设为First,默认动作设为GetName:
app.MapControllerRoute( name: "default", pattern: "{controller=First}/{action=GetName}/{id?}");
3. 添加默认Index方法(可选)
另一种方式是在FirstController中添加Index方法,或者将GetName重命名为Index,这样访问根路径时会自动匹配这个方法:
public string Index() { return "Vivek Anand"; }
4. 验证Program.cs的配置完整性
确保Program.cs中已经正确添加了MVC服务和路由中间件,完整配置示例:
var builder = WebApplication.CreateBuilder(args); // 注册MVC服务 builder.Services.AddControllersWithViews(); var app = builder.Build(); // 环境相关中间件 if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); // 映射控制器路由 app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();
内容的提问来源于stack exchange,提问作者Vaishnavi Vaishu
相关产品推荐
相关产品推荐

