剃须刀页面 asp-page 不呈现正确的 html

Posted

技术标签:

【中文标题】剃须刀页面 asp-page 不呈现正确的 html【英文标题】:razor page asp-page does not render correct html 【发布时间】:2021-12-20 23:26:14 【问题描述】:

我关注this tutorial

索引页面位于目录:Pages/Contacts 它具有如下所示的锚标记

创建新的

此锚不呈现为 href。它被完全渲染为

 <a   asp-page="/Contacts/Create">Create New</a>

但是,如果我写 url 地址 Contacts/Create ,它会将我带到页面。此外,如果将标签写为普通的 html 标签,它也可以工作。

【问题讨论】:

【参考方案1】:

你需要确保你放了

<a class="navbar-brand" asp-area="" asp-page="/Contacts/Index">ContactManager</a>

进入Pages/Shared/_Layout.cshtml 文件。

这是一个演示:

页面结构:

_Layout.cshtml:

...
    <div class="container">
            <main role="main" class="pb-3">
                <a class="navbar-brand" asp-area="" asp-page="/Contacts/Index">ContactManager</a>
                @RenderBody()
            </main>
        </div>
...

联系人/Index.cshtml:

@page
@model RazorPageDemo.Pages.Contacts.IndexModel
@

<h1>Contacts/Index page</h1>

结果:

【讨论】:

_Layout 完全符合您的建议: 我切换到比 Razor 页面更了解的 mvc 视图

以上是关于剃须刀页面 asp-page 不呈现正确的 html的主要内容,如果未能解决你的问题,请参考以下文章

在 iis 服务器上删除 URL 中的扩展名

剃须刀页面 asp-page-handler 按钮不起作用

空白剃须刀页面,检查评论中是不是存在文章编号

为啥 asp.net 5 剃须刀页面中没有开发人员异常页面?

身份剃须刀页面中的 Blazor 组件

如何在表单剃须刀页面中使用 IEnumerable