【问题标题】:How to trigger Razor code-behind upon form submission如何在表单提交时触发 Razor 代码隐藏
【发布时间】:2021-09-08 19:10:39
【问题描述】:

我有一个简单的 Razor 表单来创建 MatchViewModel,这是一个具有一些属性的简单模型。视图 Create.cshtml 没有附带代码隐藏,所以我自己手动创建了它 (Create.csthml.cs)。

我已经在线遵循了一些基本指南,了解在代码隐藏中添加的内容 - 现在,我只是在浏览器中提交表单时尝试在代码隐藏中设置断点,但它没有发生。我希望触发OnPost()-方法并调用控制器中的端点。

任何人都有一个想法,为什么我的代码隐藏在表单提交时没有被触发?我是否需要在我的 Razor 页面 (Create.cshtml) 的提交按钮上指定某些内容?

Create.cshtml.cs中的代码:

public class Create: PageModel
{
    public IActionResult OnGet()
    {
        return Page();
    }
    [BindProperty]
    public MatchViewModel MatchViewModel { get; set; }
    public IActionResult OnPost()
    {
        MatchController controller = new MatchController();
        controller.Create(MatchViewModel);
        return LocalRedirect("~/Match/Index");
    }
}

【问题讨论】:

    标签: c# asp.net-core model-view-controller razor


    【解决方案1】:

    我想我同时找到了答案。好像我在 Razor 页面 Create.cshtml 中的表单提交 input 上错过了一个 asp-action="Create" 标签助手来调用我想要的端点。上面的所有代码显然是不必要的。

    【讨论】:

      猜你喜欢
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      相关资源
      最近更新 更多