【发布时间】:2021-02-13 05:39:48
【问题描述】:
我有一个 MVC 应用程序,我正在尝试向其中添加一些 Razor 页面。我已将以下页面添加到项目根目录:
pages/account/index.cshtml
但是我无法使用这样的标签助手生成此页面的 URL:
<a class="nav-link text-dark" asp-page="/Account" title="Manage">Hello @User.Identity.Name!</a>
这会产生以下网址:/Asset/List?page=%2FAccount%2FAccount
哪个是相对于当前页面的url。
但是我无法在浏览器中浏览到 /account/index 或 /account,这表明路由出现问题。
我的 MVC 控制器路由工作正常,身份区域的项目模板中创建的默认 Razor 页面也是如此,例如:
identity/pages/account/manage/index
我的配置方法如下所示:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
和配置服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews().AddRazorRuntimeCompilation();
services.AddRazorPages();
}
【问题讨论】:
标签: asp.net-mvc asp.net-core razor-pages