繁体   English   中英

使用 ASP.NET Core 2.2 的页面名称

[英]Page names with ASP.NET Core 2.2

我需要相同的东西(具有不同网址的同一页面),例如: http://localhost:59810/Home/Privacy http://localhost:59810/Home/Privat

为了尝试,我在品牌 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

我错过了什么?

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

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

您还可以在 ASP.NET Core 中找到 heplpfull 这个路由到控制器操作

确保您的项目中存在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.结果: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM