本文介绍了带有Razor页面的区域中的OnPost无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(使用ASP.NET Core 3.1-Razor Pages Web应用程序)

我正在尝试触发OnPost方法,该方法位于区域>>登录>>页面>>Index.cshtml.cs Razor Page中。不知何故,它触发了OnGet方法,但当我尝试发布表单时,它没有触发OnPost方法。

Index.cshtml.cs

namespace WebApplication1.Areas.Login.Pages
{    
public class IndexModel : PageModel
        {
            public void OnGet()
            {
    //triggering
            }
            public void OnPost()
            {
    //not triggering
            }
        }
}

Index.cshtml

@page
@model WebApplication1.Areas.Login.Pages.IndexModel
@{
}

<form method="post">

    <input name="UserId" class="form-control" />        

    <input type="submit" value="Create" class="btn btn-primary" />
</form>

注意:如果我没有使用区域,则OnGet和OnPost可以很好地工作。

我尝试了下面的方法,但没有一种对我有效:

  1. 已尝试https://www.learnrazorpages.com/advanced/areas
  2. How can Add Area in razor pages on dot net core 3.0/3.1?

推荐答案

我找到了答案here:我在&right tarrow;Login&right tarrow;Pages中添加了以下代码

_ViewImports.cshtml

@using WebApplication1
@namespace WebApplication1.Web.Areas.Login.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

这篇关于带有Razor页面的区域中的OnPost无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 02:34