首页 > 解决方案 > 将值从表单标签传递到操作方法不起作用

问题描述

我有一个输入类型的表单,number我想选择一个数字,按提交并从我的数据库中删除特定行。

输入类型如下所示:

<input type="number" name="id" value=""/>  

我正在使用路径,我想将该特定值传递给:

http://localhost:51206/api/Values/delete/id

当我输入一些数字而不是 id 时它会起作用。当我用 id 值按 Submit 时,它说它不起作用,因为它是空值。

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);
    }

标签: c#htmlasp.net-mvc

解决方案


删除'/id'来自 url,将其简化并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);
}

推荐阅读