首页 > 解决方案 > Razor 视图不为 Razor 页面生成 href

问题描述

我目前有一个使用 Razor Pages 的 .net core web 应用程序 (.Net core 3.1)。我有以下文件夹结构。

Areas (folder)
  Users (folder)
     Pages (folder)
       Index.cshtml
       Edit.cshtml 

在 Index.cshtml 中,我有下面的视图代码。当应用程序运行时,它不会生成 href,当我检查 html 时,它会生成如下 html:

<a class="nav-link text-dark" asp-area="Users" asp-page="/Edit" asp-route-id="56591c1d-88af-48b6-b41b-1948af412511">Edit</a>

@page
@model MyApp.Areas.User.Pages.IndexModel

@{
    ViewData["Title"] = "Users";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h1>Users</h1>

<table class="table">
    <thead>
        <tr>
            <th>Operations</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model.Users)
        {
            <tr>
                <td>
                    <a class="nav-link text-dark" asp-area="Users" asp-page="/Edit" asp-route-id="@item.UserId">Edit</a> |
                </td>
            </tr>
        }
    </tbody>
</table>

标签: asp.net-corerazorrazor-pages

解决方案


我错过了_ViewImports.cshtml

@using MyApp.Areas.Users
@using MyApp.Areas.Users.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

推荐阅读