这是我的 WebAPI Controller 和 html 表单。通过 myValue 始终为 null 将请求正确路由到 Controller 中的方法。我认为这是发布从某些教程中获取它的有效方法。
Controller :
[Route("add")]
public string Post([FromBody]string myValue)
{
return string.Format("HAIAA: [{0}]" , myValue);
}
查看:
<form id="formOne" method="post" action="ninja/add">
<input type="text" name="myValue" />
<input type="submit" value="submit" />
</form>
最佳答案
您不能使用 HTML 表单将简单类型参数发布到 Web API 操作。使用包含您的参数的复杂类型:
public class MyFormData {
public string myValue { get; set; }
}
更改您的 Controller 签名:
[Route("add")]
public string Post([FromBody]MyFormData data)
{
return string.Format("HAIAA: [{0}]" , data.myValue);
}
或者使用 AJAX 将单个值发布到您的操作:
$('#formOne').submit(function () {
$.post('ninja/add', { "": $('input[name=myValue]').val() })
.success(function () {
//do something
})
.error(function () {
//show error
});
return false;
});
关于c# - 将值发布到 webapi Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36921339/