Что делает атрибут HttpDelete - PullRequest
2 голосов
/ 05 января 2012

http://msdn.microsoft.com/en-us/library/system.web.mvc.httpdeleteattribute.aspx Представляет атрибут, который используется для ограничения метода действия, чтобы метод обрабатывал только запросы HTTP DELETE.

Но что, черт возьми, это значит, например? Mvc

 @Html.ActionLink("delete", new {id= model.PrimaryKey})// 

Это запрос на удаление? как бы браузер различал

 @Html.ActionLink("gridDisplay", new {id= model.PrimaryKey})// 

контроллер

[HttpDelete] //what is this how does it know?
public action result delete()
{
 delete();//web service deletes something just go with me here 
}
public action result gridDisplay()
{
  return view()
}

Ответы [ 2 ]

5 голосов
/ 05 января 2012

Удалить - это HTTP-глагол , также как GET, PUT и POST. Этот атрибут ограничивает метод действия для обработки только HTTP-запросов на удаление.

Обычно это рассматривается как часть веб-службы RESTful. Это совершенно ясно показывает, что HTTP-запрос будет выполнять некоторый тип удаления.

Вы не можете просто ссылаться на действие, которое выполнит удаление HTTP. Ссылка в браузере обычно выдает GET. Я ожидаю, что вы получите 404 от нажатия на эту ссылку.

0 голосов
/ 05 января 2012

Прежде всего, ни один из представленных вами кодов просмотра не является удалением и не будет рассматриваться как глагол HTTP DELETE.

Показанный вами код контроллера означает метод действия, украшенный HttpDelete,означает, что этот код будет выполнен по запросу на удаление с тем же именем, что и имя действия.

Откуда оно это знает?

Нет.Ваш код View будет иметь аналогичную ссылку, например HTTP.Post, а именно ссылку HTTP.Delete, которая будет указывать на это действие

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...