如何在 ASP.NET Core Razor Pages 中为单页应用程序创建包罗万象的路由?
How do I create a catch-all route for single page apps in ASP.NET Core Razor Pages?
对于单页应用程序,我们希望能够将所有未处理的请求路由到索引,以便处理客户端路由。
以前,我们会使用 MapRoute() 添加路由,详见 ,但是,当使用 Razor 页面作为我们的索引时,这似乎不起作用。
我们如何创建 Razor Pages 索引的回退?
为此,请将路由添加到 Razor Pages 选项,如下所示:
services.AddMvc()
.AddRazorPagesOptions(options =>
{
// Match all routes to the index so we can handle routing client-side.
options.Conventions.AddPageRoute("/index", "{*url}");
})
然后确保照常配置静态文件服务:
app.UseStaticFiles();
app.UseMvc(routes => {
routes.MapRoute(
"default",
"{controller=Home}/{action=Index}/{id?}");
});
对于单页应用程序,我们希望能够将所有未处理的请求路由到索引,以便处理客户端路由。
以前,我们会使用 MapRoute() 添加路由,详见
我们如何创建 Razor Pages 索引的回退?
为此,请将路由添加到 Razor Pages 选项,如下所示:
services.AddMvc()
.AddRazorPagesOptions(options =>
{
// Match all routes to the index so we can handle routing client-side.
options.Conventions.AddPageRoute("/index", "{*url}");
})
然后确保照常配置静态文件服务:
app.UseStaticFiles();
app.UseMvc(routes => {
routes.MapRoute(
"default",
"{controller=Home}/{action=Index}/{id?}");
});