c# - 如何从 HTML 提交按钮调用 ASP.NET CORE WEB API 3.1

标签 c# html asp.net-core

我有一个非常基本的问题,如何在 ASP .Net Core Web API 3.1 中的 Submit Click to Action 方法上发送文本框值,

<form method="post" >
        <label for="fname">First name:</label>
        <input type="text" id="fname" name="firstName"><br><br>
        <label for="lname">Last name:</label>
        <input type="text" id="lname" name="lastname"><br><br>
        <label for="email">Email ID:</label>
        <input type="text" id="email" name="email"><br><br>
        <input type="submit" value="Submit">
    </form>

我已经创建了我的员工模型

public string firstName { get; set; }
public string lastname { get; set; }
public string emailid { get; set; }

我也有我的行动方法

   [HttpPost]
    public IActionResult InsertEmployeeData ([FromBody] Employee employee)
    {
        var emplFirstName = employee.firstName;
        var empLastName = employee.lastname;
        return Ok();
    }

互联网上的可用示例大多以 VIEW 为例,但我有一个纯 html 文件“Home.html”,我的项目 wwwroot 目录,需要在单击提交按钮时将值发送到操作方法,有吗任何不使用 AJAX 调用、 View 来实现它的方法。

分享您的想法/知识

谢谢

最佳答案

将名称设置为表单

<form method="post" name="FormEmployee" >
   <label for="fname">First name:</label>
   <input type="text" id="fname" name="firstName"><br><br>
   <label for="lname">Last name:</label>
   <input type="text" id="lname" name="lastname"><br><br>
   <label for="email">Email ID:</label>
   <input type="text" id="email" name="email"><br><br>
   <input type="submit" value="Submit">
</form>

并添加脚本

document.forms["FormEmployee"].addEventListener("submit", e => {
    e.preventDefault();
    const form = document.forms["FormEmployee"];
    const response = await fetch("api/{controller name}", {
        method: "POST",
        headers: { "Accept": "application/json", "Content-Type": "application/json" },
        body: JSON.stringify({
            firstName: form.elements["firstName"].value,
            lastname: form.elements["lastname"].value,
            email: form.elements["email"].value
        })
    });
});

关于c# - 如何从 HTML 提交按钮调用 ASP.NET CORE WEB API 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63913983/

相关文章:

javascript - 用于验证 ASP.NET 数据注释中格式化货币最小值的正则表达式

c# - 如何通过 IHttpClientFactory 阻止 HttpClient 登录到 ILogger?

c# - 如何突出显示具有不同于 RichTextBox 文本中所有其他选择的颜色的单词或短语?

html - 根据内容固定宽度和高度的位置(而不是 100%)

html - slider 上的表单(HTML 和 CSS)

angular - ABP (AspNet Boilerplate) API 的间歇性 CORS 策略问题

c# - 如何在 IIS 级别的 Asp.Net Core 中配置 MachineKey

c# - 如何在.Net中使用SQLCipher

c# - 添加/编辑记录的 ASP.NET MVC View 模式

javascript - 用 Jquery 改变 div