ASP.NET Core 2.2 的页面名称
Page names with ASP.NET Core 2.2
我需要同样的东西(同一个页面,不同的 url)
像:
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
我是不是漏掉了什么?
您可以用以下方式装饰您的动作:
[Route("/Home/Privacy")]
[Route("/Home/Privat")]
你也可能会发现 heplpfull 这个 Routing to controller actions in ASP.NET Core
确保 Home/Privacy
存在于您的项目中。
下面是一个简单的演示:
1.Content结构:
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.Result:
我需要同样的东西(同一个页面,不同的 url) 像: 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
我是不是漏掉了什么?
您可以用以下方式装饰您的动作:
[Route("/Home/Privacy")]
[Route("/Home/Privat")]
你也可能会发现 heplpfull 这个 Routing to controller actions in ASP.NET Core
确保 Home/Privacy
存在于您的项目中。
下面是一个简单的演示:
1.Content结构:
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.Result: