ASP .Net Core Razor asp-page-handler 不工作
Posted
技术标签:
【中文标题】ASP .Net Core Razor asp-page-handler 不工作【英文标题】:ASP .Net Core Razor asp-page-handler not working 【发布时间】:2021-07-04 17:15:12 【问题描述】:我创建了一个全新的 ASP .NET Core Razor Web 应用程序,当我使用自定义 asp-page-handler 发布时,会点击 OnPost(),而不是 OnPostContact()。这是一个如此简单的形式,所以我一定忽略了一些简单的东西。
我的 taghelpers 肯定有问题,因为我可以得到一个模型值来显示如下:
@Model.FirstName
但不是这样的:
<input asp-for="FirstName" type="text" class="form-control" />
这是代码,我看不出这里有什么问题:
索引.cshmtl:
<form method="post" asp-page-handler="Contact">
@html.AntiForgeryToken()
<div asp-validation-summary="ModelOnly"></div>
<span asp-validation-for="FirstName"></span>
<input type="text" asp-for="FirstName" />
<button type="submit">Send</button>
</form>
索引.cshtml.cs:
public IActionResult OnPost()
return Page();
public IActionResult OnPostContact()
return Page();
_ViewImports.cshtml:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
【问题讨论】:
您是否尝试删除@Html.AntiForgeryToken() 没有 @Html.AntiForgeryToken() 我得到一个 400 错误 一般你不需要@Html.AntiForgeryToken
,它是自动添加的。我确实将asp-page-handler="Contact"
放在提交按钮标签内,它工作正常。
【参考方案1】:
我认为我错过了一些愚蠢的东西。在我的页面上方有一个 div 标签,它有一个额外的引号,它不知何故导致我的标签无法正常工作......浪费了一个小时的时间。
<div class="container" data-aos="fade-up" ">
【讨论】:
以上是关于ASP .Net Core Razor asp-page-handler 不工作的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core Razor 页面与完整 MVC Core [关闭]
Asp.net core razor pages 加载部分页面
Asp.Net Core 上的 Razor 页面 - 添加了 Razor 页面但无法让页面显示