Определяют “значение” метода в контроллере.
К примеру у нас есть следующий вызов контроллера из представления:
@Html.ActionLink("Add Author", "AddAuthor", "Home")
А в контроллере у нас несколько методов с таким именем:
[HttpGet]
public ActionResult AddAuthor()
{
return View();
}
[HttpPost]
public ActionResult AddAuthor(Author author)
{
...
}
Как понять какой метод вызывать через представление? Именно эти атрибуты и помогают разобраться с этой проблемой. Они указывают на то, что конкретно будет выполняться внутри, и View безошибочно будет вызывать именно те методы, которые нам нужно.