我正在尝试获取发布请求以使用网络api。以下是我的api控制器。public class WebsController : ApiController{ [HttpPost] public void PostOne(string id) { } [HttpPost] public void PostTwo(Temp id) { }}我已经更改了webapi路由,以考虑到该操作。Temp模型看起来像这样。public class Temp{ public string Id { get; set; }}我的观点看起来像这样@using (Ajax.BeginForm(new AjaxOptions{ Url = "/api/webs/postone", HttpMethod = "post"})){ <input name="id" id="id" value="2" /> <input type="submit" value="submit" />}除非我将[FromBody]属性放在这样的参数前面,否则以上代码对postone完全不起作用。[HttpPost]public void PostOne([FromBody]string id){}然后执行操作,但ID仍为null。它不会填充文本框中的值。但是,如果我改变Url了的Ajax.BeginForm要posttwo内搭模型Temp,它很好地工作和Id领域在文本框中得到应有的价值。谁能解释一下发生这种情况的原因,以及如何将简单的值发布到网络api操作中?我的意思是,为什么它可以绑定复杂类型而不绑定简单类型。
2 回答
- 2 回答
- 0 关注
- 502 浏览
添加回答
举报
0/150
提交
取消