c# - 如何直接从 Razor View 调用 .NET CORE MVC 中的 POST 方法?

标签 c# asp.net-core razor .net-core asp.net-core-mvc

我想从 Controller 调用我的方法:

[HttpPost]
public async Task<IActionResult> SendPhoneVerificationCode() 
{
  // ...code
    return RedirectToAction(nameof(ConfirmPhoneNumber));
}

使用按钮从我的 Index.cshtml View

<button class="btn btn-primary" name="button">Send Verification Phone Code</button>

我该怎么做?

最佳答案

你的代码应该是

@page // important

<form method="POST">
   <input type="submit" asp-page-handler="SendPhoneVerificationCode" value="Submit" />
</form>

在你的代码后面。

public IActionResult SendPhoneVerificationCode() 
{
   return RedirectToPage("./ConfirmPhoneNumber");
}

我建议你使用 razor 页面而不与 mvc Controller 混合

您可以阅读更多here

关于c# - 如何直接从 Razor View 调用 .NET CORE MVC 中的 POST 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58015982/

相关文章:

c# - 命名约定和命名空间

c# - Resharper 中的警告 "Return value of pure method is not used"

c# - 如何调整我构建的自定义控件的大小

html - Razor 标签上的文本框重叠

c# - 使用自定义 View 基础在 Razor View 中调用异步函数

c# - 如何对存在于所有限界上下文中并且是应用程序核心部分的实体进行建模?

asp.net-core - Automapper : The instance of entity type cannot be tracked because another instance with the key is already being tracked 使用异常

asp.net - Docker for Windows 构建为 COPY 添加了前缀 `/var/lib/docker/tmp/`?

c# - 将 C# 字符串传递给 javascript 时如何优雅地转义单引号和双引号

asp.net-mvc - Entity Framework 核心错误: No parameterless constructor defined for this object