【发布时间】:2019-01-05 06:12:21
【问题描述】:
我正在尝试使用剃须刀页面创建一个简单的 Web 应用程序。 Create 的渲染锚标记未正确生成。
<a href>Create</a>
我的应用程序似乎没有 /Facility/Create 作为有效 URL,即使我手动转到那里也是如此。我想还有什么其他事情可以让锚标记呈现为
<a href="/Facility/Create">Create</a>
并让应用程序了解/Facility/Create。
@page
@model IndexModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<h1>Facilities</h1>
<form method="post">
<table class="table">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach (var facility in Model.Facilities)
{
<tr>
<td>@facility.Name</td>
<td>
<a asp-page="Edit" asp-route-id="@facility.Id">edit</a>
<button type="submit" asp-page-handler="delete"
asp-route-id="@facility.Id">
delete
</button>
</td>
</tr>
}
</tbody>
</table>
<a asp-page="/Facility/Create">Create</a>
</form>
【问题讨论】:
-
上面显示的标记属于哪个索引页面? Pages/Index.cshtml 或 Pages/Facility/Index.cshtml?
-
@Nkosi - 这是
/Pages/Facility/Index.cshtml -
在这种情况下
<a asp-page="Create">Create</a>应该可以工作。如果没有,请检查实际的 .cshtml 文件是否被项目识别并且在构建时未被排除。在许多情况下,清除和重建项目可以解决问题。 -
@Nkosi - 我已经尝试过
<a asp-page="Create">、<a asp-page="./Create">和<a asp-page="/Facility/Create">--- 我还进行了清理和重建并检查以确保它包含在构建中。我在/obj中有一个.g.cs文件 -
@Nkosi - 这是一个为我重现问题的仓库 - github.com/bdparrish/razor-pages-bug
标签: asp.net-core asp.net-core-2.0 razor-pages