Как перенаправить пользователя при нажатии кнопки? - PullRequest
53 голосов
/ 02 июля 2010

У меня есть вид с помощью кнопки.Когда пользователь нажимает кнопку, я хочу, чтобы они были перенаправлены в представление ввода данных.Как мне это сделать?Я должен упомянуть, что представления созданы, проверены и функционируют.Я могу добраться до них, набрав url.

Я искал шаги, объясняющие, как подключить событие onclick кнопки, но я новичок в MVC и в некоторой степени потерян.* Спасибо!

Ответы [ 7 ]

88 голосов
/ 02 июля 2010

Это зависит от того, что вы подразумеваете под кнопкой. Если это ссылка:

<%= 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") %>';" />
33 голосов
/ 15 января 2014

Так же, как дополнение к другим ответам, вот синтаксис двигателя бритвы:

<input type="button" value="Some text" onclick="@("window.location.href='" + @Url.Action("actionName", "controllerName") + "'");" />

или

window.location.href = '@Url.Action("actionName", "controllerName")';
7 голосов
/ 15 сентября 2015

если вы используете JQuery, вы можете сделать это:

<script type="text/javascript">
    $('#buttonid').click(function () {
        document.location = '@Url.Action("ActionName","ControllerName")';
    });
</script>
6 голосов
/ 02 июля 2010

Если, как и я, вам не нравится полагаться на JavaScript для ссылок на кнопки. Вы также можете использовать привязку и стилизовать ее как свои кнопки с помощью CSS.

<a href="/Controller/View" class="Button">Text</a>
3 голосов
/ 17 сентября 2012

Или, если ничего из вышеперечисленного не работает, вы можете использовать следующий подход, как он работал для меня.

Представьте, что это ваша кнопка

<button class="btn" onclick="NavigateToPdf(${Id});"></button>

Я получил значение для $ {Id} заполняется с использованием шаблонов jquery.Вы можете использовать все, что подходит вашему требованию.В следующей функции я устанавливаю window.location.href равным имени контроллера, затем имени действия и, наконец, параметру.Я могу успешно перемещаться.

function NavigateToPdf(id) {
    window.location.href = "Link/Pdf/" + id;
}

Надеюсь, это поможет.

2 голосов
/ 12 апреля 2018

Вы можете легко обернуть тэг своей кнопки тегом. Используя Url.Action () HTML Helper , вы сможете переходить с одной страницы на другую.

<a href='@Url.Action("YourAction", "YourController")'>
    <input type='button' value='Dummy Button' />
</a>

Если вы хотите перемещаться с помощью функции javascript onclick () , используйте

<input type='button' value='Dummy Button' onclick='window.location = "@Url.Action("YourAction", "YourController")";' />
0 голосов
/ 02 июля 2010
$("#yourbuttonid").click(function(){ document.location = "<%= Url.Action("Youraction") %>";})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...