Передача значения из тега формы в метод действия не работает - PullRequest
0 голосов
/ 03 июля 2018

У меня есть форма с типом ввода number, и я хочу выбрать одно число, нажмите Отправить и удалить конкретную строку из моей базы данных.

Тип ввода выглядит следующим образом:

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

Я работаю с путями и хочу передать это конкретное значение:

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

Это работает, когда я ставлю некоторое число вместо идентификатора. Когда я нажимаю Submit со значением 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);
    }

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Удалите '/id' из URL, упростите его и используйте id attribute в текстовом поле, и оно будет привязано.

View

<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);
}
0 голосов
/ 03 июля 2018

Вы должны добавить атрибут [HttpPost] в ваш метод:

[HttpPost]
public IHttpActionResult Delete(int id)

и удалите id из действия формы:

<form action="http://localhost:51206/api/Values/delete" method="post">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...