Я знаю, что это неправильно, но для иллюстрации я хотел бы сделать что-то вроде этого:
<%= Html.Button("Action", "Controller") %>
Моя цель - создать кнопку HTML, которая будет вызывать метод действия моего контроллера MVC.
html
asp.net-mvc
Аарон Салазар
источник
источник
Ответы:
Не нужно использовать форму вообще, если вы не хотите публиковать сообщения в действии. Кнопка ввода (не отправить) сделает свое дело.
источник
public static string ActionButton(this HtmlHelper helper, string action, string controller, string text) { return String.Format("<input type=\"button\" value=\"{0}\" onclick=\"location.href='{1}' />",text,Url.Action(action,controller)); }
<input type="button" value="Go Somewhere Else" onclick="location.href='<%: Url.Action("Action", "Controller", new { parameter1 = value1 }) %>'" />
Синтаксис бритвы здесь:
источник
'input'
на'button'
и это решило ошибку.<button type="button" class="btn btn-primary" onclick="location.href='@Url.Action("action", "controller")'" >Go Somewhere Else</button>
сделал трюкtype = "button" запрещает отправку страницы. вместо этого он выполняет ваши действия.
источник
Попробуй это:
Это должно работать для вас.
источник
Вы можете использовать Url.Action, чтобы указать сгенерировать URL для действия контроллера, так что вы можете использовать одно из следующих:
или:
источник
Вот как вы можете отправить свою форму определенному контроллеру и методу действия в Razor.
источник
Опираясь на пару приведенных выше ответов, вы можете сделать это:
источник
Элемент HTML
<button>
может только отправить обратно в форму, содержащую его.Таким образом, вам нужно создать форму, которая отправляет в действие, а затем положить
<button>
или<input type="submit" />
в форме.источник
В случае, если вы получаете ошибку как «неопределенная строковая константа», используйте следующий синтаксис бритвы:
источник
Несмотря на метод onclick, вы также можете использовать форматирование следующим образом:
источник
лучше использовать этот пример
источник
Итак, я использую Razor, но это будет работать, используя либо. Я в основном оборачиваю кнопку в ссылке.
источник
Когда вы реализуете действие в контроллере, используйте
или
где страница Index.cshtml (или страница, которая генерирует действие) уже определена. В противном случае вы, вероятно, столкнетесь с ошибкой «представление или его мастер не найден ...».
Источник: https://blogs.msdn.microsoft.com/aspnetue/2010/09/17/best-practices-for-asp-net-mvc/
источник
Используйте этот пример:
источник
Если вы находитесь на домашней странице ("/ Home / Index") и хотите вызвать действие Index на контроллере Admin, вам подойдет следующее.
источник
лучше использовать этот пример .
Вызовите действие и контроллер, используя
ActionLink
:источник
Хорошо, вам нужно передать действие кнопке и вызывать ее, когда происходит щелчок; оно не обязательно должно быть внутри элемента from, вы можете использовать HTML
onclick
для кнопки, чтобы вызвать его при нажатии кнопки ...источник
Вы всегда можете поиграть с htmlHelpers и собрать что-нибудь
А потом на вид назвать это так
источник