如何在同一个 .net core 3 应用程序中使用剃刀页面和控制器?
How to use razor pages and controllers in the same .net core 3 app?
这里是启动配置的代码
public void ConfigureServices(IServiceCollection services) {
services.AddControllers();
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
app.UseEndpoints(endpoints => {
endpoints.MapRazorPages();
endpoints.MapControllers();
});
}
我想将所有控制器映射到“/api”下,并将其他所有内容映射到剃刀页面。我在网上搜索了很多,但似乎找不到我要找的东西。
你看过了吗?
http://www.binaryintellect.net/articles/e6557104-d06a-418c-a1a9-b8ce248f60b1.aspx
看起来可以做到。你只是不会打电话给 services.AddRazorPages();
让我知道你认为这有什么问题或者它是否有效。
你的 startup.cs
没有问题。如果你想将所有 /api
映射到你的控制器,那么只需使用属性路由装饰你的 api 控制器,例如:
[ApiController]
[Route("/api/[controller]")]
public class WeatherForecastController : ControllerBase
然后在您的项目中创建一个 Pages
文件夹,其中包含 Razor Pages。
这里是启动配置的代码
public void ConfigureServices(IServiceCollection services) {
services.AddControllers();
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
app.UseEndpoints(endpoints => {
endpoints.MapRazorPages();
endpoints.MapControllers();
});
}
我想将所有控制器映射到“/api”下,并将其他所有内容映射到剃刀页面。我在网上搜索了很多,但似乎找不到我要找的东西。
你看过了吗?
http://www.binaryintellect.net/articles/e6557104-d06a-418c-a1a9-b8ce248f60b1.aspx
看起来可以做到。你只是不会打电话给 services.AddRazorPages();
让我知道你认为这有什么问题或者它是否有效。
你的 startup.cs
没有问题。如果你想将所有 /api
映射到你的控制器,那么只需使用属性路由装饰你的 api 控制器,例如:
[ApiController]
[Route("/api/[controller]")]
public class WeatherForecastController : ControllerBase
然后在您的项目中创建一个 Pages
文件夹,其中包含 Razor Pages。