我在从表单向ASP API发送简单的双号时遇到了麻烦。
当我提交表单时,我首先需要删除“提交”按钮以避免发送冗余的“提交=提交”#39; API控制器的价值。
正如我在this文章中所读到的,我将输入字段的名称设置为空。因此,如果我在开发者模式下检查http请求,则发送数据的主体看起来像是' =值'。我的方法参数用[FromBody]属性修饰。
即使有了这一切,控制器方法也无法获得该值。它总是零。
怎么办?
我的表格如下:
<form action="@Url.Action("Temperature","Api")" method="post" >
<input type="number" name=" " step="0.25"/>
<input type="submit" name="submit" />
</form>
</div>
<script>
$("form").submit(function () {
$(this).children('[name="submit"]').remove();
});
</script>
控制器:
// POST: api/Temperature
public void Post([FromBody]double value) //FormDataCollection data
{
Temperature newEntry = new Temperature() { Timestamp = DateTime.Now, Value = value};
try
{
db.Temperatures.Add(newEntry);
db.SaveChanges();
}
catch(Exception e)
{
Debug.WriteLine(e.Message);
}
}
答案 0 :(得分:1)
尝试Ajax ......
像这样改变你的Html:
C:\boost
C:\Program Files\boost\boost_1_65_1\libs
C:\Program Files\boost\boost_!_65_1\boost
C:\MinGW\lib\gcc\mingw32\5.3.0\include\c++
然后:
.ct-chart .ct-label.ct-horizontal.ct-end {
transform: translate(-15px, 15px) rotate(315deg);
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: block;
width: 50px !important;
}
您的控制器输入参数也将如下:
<div>
<input type="number" id="number" name=" " step="0.25"/>
<input type="button" id="submit" name="submit" />
</div>