asp.net-core - asp.net core 3 路由
问题描述
在我的 Asp.net core 3 项目中,我使用一些控制器从 js 代码访问以做一些事情,同时还使用 Razor 页面。
在配置服务部分:
services.AddControllersWithViews();
services.AddRazorPages();
我添加了带有视图的 RazorPages 和 MVC 控制器。
然后在配置部分
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
添加了上面的代码。当我尝试访问控制器时,我得到 404。我还尝试添加services.AddControllers();
需要帮助。
编辑:控制器代码
public class DashboardsController : BaseController, IDashboardsController
{
[HttpGet]
public async Task<JsonResult> GetAssetCategorySummaryAsync(){
-------
}
}
解决方案
你的网址应该是localhost:9011/Dashboards/GetAssetCategorySummary
.
您可以像下面这样修改 Startup.cs 以允许使用整个操作名称:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.SuppressAsyncSuffixInActionNames = false;
});
services.AddControllersWithViews();
services.AddRazorPages();
}
这是github上的一个已知问题,你可以参考这里。
推荐阅读
- smtp - DNN SendGrid 配置不起作用
- python - 初学者问题:RASP PI 4 - Python - IOError
- vue.js - 带有方法的Vue样式
- pine-script - 如何组合振荡器协同工作?
- kubernetes - 如何在 kubernetes 的同一节点中为一项服务(同一 pod 的多个实例)联系一个随机 pod
- node.js - RabbitmQ Producer & Consumer 的设计建议
- c# - C#记录构造函数参数默认值空IEnumerable
- python - Seaborn Countplot set_yticklabels
- ios - 使用预先填充的领域数据库
- php - 通过 Ajax 的 PHP 表单(发布请求)未将图像路径保存到变量