【问题标题】:ASP .Net Core Razor asp-page-handler not workingASP .Net Core Razor asp-page-handler 不工作
【发布时间】: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" 放在提交按钮标签内,它工作正常。

标签: asp.net-core razor


【解决方案1】:

我认为我错过了一些愚蠢的东西。在我的页面上方有一个 div 标签,它有一个额外的引号,它不知何故导致我的标签无法正常工作......浪费了一个小时的时间。

<div class="container" data-aos="fade-up" ">

【讨论】:

    猜你喜欢
    • 2019-01-16
    • 2019-04-10
    • 2019-10-12
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2020-12-21
    • 2021-12-15
    相关资源
    最近更新 更多