Я знаю, что это неправильно, но для иллюстрации я хотел бы сделать что-то вроде этого:
<%= Html.Button("Action", "Controller") %>
Моя цель - создать кнопку HTML, которая будет вызывать метод действия моего контроллера MVC.
Когда вы реализуете действие в контроллере, используйте
return View("Index");
или
return RedirectToAction("Index");
где страница Index.cshtml (или страница, которая генерирует действие) уже определена. В противном случае вы, вероятно, столкнетесь с ошибкой «представление или его мастер не найдены ...».
Источник: https://blogs.msdn.microsoft.com/aspnetue/2010/09/17/best-practices-for-asp-net-mvc/
лучше использовать этот пример
<a href="@Url.Action("Register","Account", new {id=Item.id })" class="btn btn-primary btn-lg">Register</a>
Итак, я использую Razor, но это тоже будет работать. Я в основном оборачиваю кнопку в ссылке.
<a href="Controller/ActionMethod"> <input type="button" value="Click Me" /> </a>
ОК, вам нужно передать действие кнопке и вызвать ее, когда происходит щелчок, оно не обязательно должно быть внутри, вы можете использовать HTML onclick на кнопка для запуска при нажатии кнопки ...
onclick
<button id="my-button" onclick="location.href='@Url.Action("YourActionName", "YourControllerName")'">Submit</button>
Если вы находитесь на домашней странице ("/ Home / Index") и хотите вызвать действие Index на контроллере администратора, вам подойдет следующее.
<li><a href="/Admin/Index">Admin</a></li>
Используйте этот пример:
<button name="nameButton" id="idButton" title="your title" class="btn btn-secondary" onclick="location.href='@Url.Action( "Index","Controller" new { id = Item.id })';return false;">valueButton</button>
лучше использовать этот пример .
Вызов действия и контроллер с помощью ActionLink:
ActionLink
@Html.ActionLink("Submit", "Action", "Controller", route, new { @class = "btn btn-block"})