创建新页面后找不到剃须刀页面

A razor page can't be found after create a new one

我在我的项目中创建了“Pages”文件夹,并在其中使用一些简单的代码创建了一个 Index.cshtml,然后在 运行 项目中查看它是否正常,然后继续编码。但是浏览器引发了这个错误: “找不到此本地主机页面”。我的启动文件包含以下代码:

 public void ConfigureServices(IServiceCollection services)
      {
        services.AddRazorPages().AddRazorPagesOptions(options =>
        {
            options.RootDirectory = "/Content";
        });

      }


   public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            app.UseHsts();
        }
        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseAuthentication();
        app.UseRouting();
    
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default" ,
                pattern: "{controller=Home}/{action=Index}/{id?}");
            endpoints.MapRazorPages();
        });
  }

在我的浏览器中完成我的项目 运行 我使用这条路线:“https://localhost:44332/index”。 Index 是 Pages 文件夹中的一个 razor 页面。

如果有人帮助我,我将不胜感激。


我刚刚创建,我的 html 只有一个 h1 标签,看看它是否有效。

改变

services.AddRazorPages().AddRazorPagesOptions(options =>
{
   options.RootDirectory = "/Content";
});

 services.AddRazorPages();

管理索引页面路由基于您的文件夹结构:

https://localhost:44332/admin/index

因为您使用两种类型的路由 mvcrazor pages,如果您只想将管理部分实现为 razor oage,最好创建您的管理文件(pages) 在admin 文件夹下,不要root Pages 文件夹以防止Route 干扰。

这会导致您的项目出现歧义。 (你用错了RootDirectory).

services.AddRazorPages().AddRazorPagesOptions(options =>
{
    options.RootDirectory = "/Content";
});

请注意,最佳做法是在需要用于 Two-Way 绑定的 MVVM 模式时使用 Razor Pages。