Как перенаправить пользователя при нажатии кнопки?
У меня есть представление с кнопкой. Когда пользователь нажимает кнопку, я хочу, чтобы они перенаправлялись в представление ввода данных. Как это сделать? Я должен упомянуть, что мнения создаются, проверяются и функционируют. Я могу добраться до них, набрав URL-адрес.
Я искал шаги, объясняющие, как подключить событие onclick к кнопке, но я новичок в MVC и проиграл на этом этапе.
Спасибо!
Ответы
Ответ 1
Это зависит от того, что вы подразумеваете под кнопкой. Если это ссылка:
<%= Html.ActionLink("some text", "actionName", "controllerName") %>
Для публикации вы можете использовать форму:
<% using(Html.BeginForm("actionName", "controllerName")) { %>
<input type="submit" value="Some text" />
<% } %>
И наконец, если у вас есть кнопка:
<input type="button" value="Some text" onclick="window.location.href='<%= Url.Action("actionName", "controllerName") %>';" />
Ответ 2
Как дополнение к другим ответам, вот синтаксис механизма бритвы:
<input type="button" value="Some text" onclick="@("window.location.href='" + @Url.Action("actionName", "controllerName") + "'");" />
или
window.location.href = '@Url.Action("actionName", "controllerName")';
Ответ 3
если вы используете JQuery, вы можете сделать это:
<script type="text/javascript">
$('#buttonid').click(function () {
document.location = '@Url.Action("ActionName","ControllerName")';
});
</script>
Ответ 4
Если, как и я, вам не нравится полагаться на JavaScript для ссылок на кнопки. Вы также можете использовать привязку и стилизовать ее, как ваши кнопки, используя CSS.
<a href="/Controller/View" class="Button">Text</a>
Ответ 5
Или, если ни одно из вышеперечисленных действий не работает, вы можете использовать следующий подход, поскольку он работал у меня.
Представьте, что это ваша кнопка
<button class="btn" onclick="NavigateToPdf(${Id});"></button>
Я получил значение для ${Id}, заполненного с использованием шаблонов jquery. Вы можете использовать все, что вам подходит. В следующей функции я устанавливаю window.location.href равным имени контроллера, затем имени действия, а затем параметру finally. Я могу успешно перемещаться.
function NavigateToPdf(id) {
window.location.href = "Link/Pdf/" + id;
}
Надеюсь, это поможет.
Ответ 6
Вы можете легко обернуть тэг своей кнопки тегом. Используя Url.Action() HTML Helper, вы сможете переходить с одной страницы на другую.
<a href='@Url.Action("YourAction", "YourController")'>
<input type='button' value='Dummy Button' />
</a>
Если вы хотите перемещаться с помощью функции jaascript onclick(), используйте
<input type='button' value='Dummy Button' onclick='window.location = "@Url.Action("YourAction", "YourController")";' />
Ответ 7
$("#yourbuttonid").click(function(){ document.location = "<%= Url.Action("Youraction") %>";})
Ответ 8
ПРЯМО ОТВЕТ ЗДЕСЬ: Ответы выше верны (для некоторых из них), но давайте сделаем это просто - с одним тегом.
Я предпочитаю использовать теги ввода, но вы можете использовать тег кнопки
Вот как должно выглядеть ваше решение с использованием HTML:
< input type="button" class="btn btn-info" onclick='window.location.href = "@Url.Action("Index", "ReviewPendingApprovals", routeValues: null)"'/> // can omit or modify routeValues to your liking