单击按钮时如何重定向用户?

时间:2010-07-02 19:28:29

标签: asp.net-mvc

我有一个带按钮的视图。当用户单击按钮时,我希望将它们重定向到数据输入视图。我该如何做到这一点?我应该提到创建,测试和运行的视图。我可以通过输入网址找到他们。

我找到了解释如何连接按钮的onclick事件的步骤,但我是MVC的新手,有点丢失。

谢谢!

10 个答案:

答案 0 :(得分:87)

这取决于按钮的含义。如果是链接:

<%= 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") %>';" />

答案 1 :(得分:32)

作为其他答案的补充,这里是剃刀引擎语法:

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

window.location.href = '@Url.Action("actionName", "controllerName")';

答案 2 :(得分:6)

如果像我一样,你不喜欢依赖JavaScript来获取按钮上的链接。您也可以使用锚点并使用CSS将其设置为按钮。

<a href="/Controller/View" class="Button">Text</a>

答案 3 :(得分:6)

如果使用JQuery,你可以这样做:

<script type="text/javascript">
    $('#buttonid').click(function () {
        document.location = '@Url.Action("ActionName","ControllerName")';
    });
</script>

答案 4 :(得分:3)

或者,如果以上都不起作用,那么您可以使用以下方法,因为它对我有效。

想象一下这是你的按钮

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

我使用jquery模板获得$ {Id}的值。你可以使用任何适合你的要求。在下面的函数中,我将window.location.href设置为控制器名称,然后是操作名称,最后是参数。我能够成功导航。

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

我希望它有所帮助。

答案 5 :(得分:2)

您可以使用tag轻松包装您的按钮标记。使用 Url.Action()HTML帮助,这将导航到另一个页面。

<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")";' />

答案 6 :(得分:1)

根据我的经验,ASP MVC确实不怎么喜欢传统的按钮用法。相反,我使用:

  <input type="button" class="addYourCSSClassHere" value="WordsOnButton" onclick="window.location= '@Url.Action( "ActionInControllerHere", "ControllerNameHere")'" />

答案 7 :(得分:0)

$("#yourbuttonid").click(function(){ document.location = "<%= Url.Action("Youraction") %>";})

答案 8 :(得分:0)

此处的答案:上面的答案是正确的(对于其中一些答案),但是让我们用一个标签将其简单化。

我更喜欢使用输入标签,但是您可以使用按钮标签

这是使用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

答案 9 :(得分:0)

<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/UsersPage">Users</a>
</li>

尝试一下