我有一个输入类型为number
的表单,我想选择一个数字,然后按“提交”并从数据库中删除特定行。
输入类型如下:
<input type="number" name="id" value=""/>
我正在使用路径,我想将该特定值传递给:
“ http://localhost:51206/api/Values/delete/id”
当我输入一些数字而不是id时,它可以工作。当我按ID值提交时,它说不起作用,因为它是空值。
HTML
<form action="http://localhost:51206/api/Values/delete/id" method="post">
<fieldset>
<div style="text-align: center">
DELETE
<input type="number" name="id" value=""/>
<input type="submit" value="Submit"/>
</div>
</fieldset>
</form>
控制器
public IHttpActionResult Delete(int id)
{
var delete = Connection.dm.Student.FirstOrDefault(s => s.StudentID == id);
if (delete != null) {
Connection.dm.Student.Remove(delete);
Connection.dm.SaveChanges();
}
return Ok(Models.db.test);
}
答案 0 :(得分:2)
从网址中删除'/id'
,对其进行简化,并在文本框中使用id attribute
,它将绑定。
查看
<form action="api/Values/Delete" method="post">
<fieldset>
<div style="text-align: center">
DELETE
<input type="number" id="id" value=""/>
<input type="submit" value="Submit"/>
</div>
</fieldset>
</form>
控制器
[HttpPost]
public IHttpActionResult Delete(int id)
{
var delete = Connection.dm.Student.FirstOrDefault(s => s.StudentID == id);
if (delete != null) {
Connection.dm.Student.Remove(delete);
Connection.dm.SaveChanges();
}
return Ok(Models.db.test);
}
答案 1 :(得分:1)
您应该将属性[HttpPost]
添加到您的方法中:
[HttpPost]
public IHttpActionResult Delete(int id)
并从表单操作中删除id
:
<form action="http://localhost:51206/api/Values/delete" method="post">