我有一个带按钮的视图。当用户单击按钮时,我希望将它们重定向到数据输入视图。我该如何做到这一点?我应该提到创建,测试和运行的视图。我可以通过输入网址找到他们。
我找到了解释如何连接按钮的onclick事件的步骤,但我是MVC的新手,有点丢失。
谢谢!
答案 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>
尝试一下