【问题标题】:Page names with ASP.NET Core 2.2使用 ASP.NET Core 2.2 的页面名称
【发布时间】:2019-12-14 22:53:21
【问题描述】:

我需要同样的东西(相同的页面,不同的网址) 喜欢: http://localhost:59810/Home/Privacy http://localhost:59810/Home/Privat

为了尝试,我在一个品牌 ned 2.1 项目中添加了以下启动“ConfigureServices”

      services.AddMvc()
               .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
               .AddRazorPagesOptions(options => {
                   options.Conventions.AddPageRoute("/Privacy", "/Privat");

               });

I also did try:

      services.AddMvc()
               .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
               .AddRazorPagesOptions(options => {
                   options.Conventions.AddPageRoute("/Home/Privacy", "/Home/Privat");

               });

但它不工作我仍然得到 404:http://localhost:59810/Home/Privat

我错过了什么吗?

【问题讨论】:

标签: c# routing asp.net-core-mvc


【解决方案1】:

你可以用以下方式装饰你的动作:

 [Route("/Home/Privacy")]
 [Route("/Home/Privat")]

你也可以在Routing to controller actions in ASP.NET Core找到heplpfull

【讨论】:

    【解决方案2】:

    确保您的项目中存在Home/Privacy。

    这是一个简单的演示,如下所示:

    1.内容结构:

    2.Startup.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });
    
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddRazorPagesOptions(options => {
            options.Conventions.AddPageRoute("/Home/Privacy", "/Home/Privat");
    
        });
    }
    
    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            app.UseHsts();
        }
    
        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseCookiePolicy();
        app.UseMvc();
    }
    

    3.Privacy.cshtml.cs:

    public class PrivacyModel : PageModel
    {
        public void OnGet()
        {
        }
    }
    

    4.结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-12
      • 2019-12-27
      • 2020-05-06
      • 1970-01-01
      • 2020-02-09
      • 2020-04-18
      • 2021-05-19
      • 2020-01-04
      相关资源
      最近更新 更多