MVC / JavaScript / Razor - 如何从按钮打开新视图

时间:2017-03-21 15:44:42

标签: javascript jquery asp.net-mvc razor

我使用 MVC 模式在 .Net框架中工作。我有一个链接(有效),如下所示:

<li><a href="@Url.Action("HomePage", "Home")">Main Page</a></li>

在上面的链接中,“HomePage”是.cshtml页面的名称,控制器中有一个返回视图的同名方法。第二个参数“Home”是.cshtml页面所在的Views下的子文件夹。

现在,在同一视图的不同部分,我有一个按钮,单击时应导航到同一位置。它看起来像这样:

<input type="button" class="navigationButtons" id="btnHome" value="Main Page" />

因为我正在使用.css样式表作为navigationButtons,我真的很乐意将代码从JavaScript中的按钮转到主页面。所以,我创建了一个jQuery变量并将其绑定到.on(“click”,onHome)事件。我有以下方法:

onHome = function () {
    var url = '@Url.Action("HomePage", "Home")';
    window.location.href = url;
}

我也试过window.open(“HomePage”,“Home”);除了我能找到的任何其他东西,无济于事。 重要提示:我不希望视图在新窗口中打开;它应该完全像在链接中那样打开(它在框架视图中显示视图,就像主菜单下属于主应用程序页面的嵌入视图一样)。

我已经了解到如果我在html中使用按钮类型而不是输入类型,我可以包含onClick的链接,但我也遇到了麻烦。似乎所有示例都包含完整的URL。但我试图在框架中打开一个视图。我没有完整的网址。

有没有人对如何从JavaScript进行此类导航有任何想法?如果没有,或者html中有更好的方法,那么我很想得到答复。

3 个答案:

答案 0 :(得分:3)

你可以在你的'navigationButtons'类中使用你的actionlink Html帮助器吗?

for row in ws.rows['B3':'J3']:
TypeError: 'generator' object has no attribute '__getitem__'

答案 1 :(得分:2)

只需在标记中添加该类。

<a href="@Url.Action("HomePage", "Home")" class="navigationButtons" autocomplete="off" data-loading-text="Loading Main Page...">Main Page</a>

答案 2 :(得分:1)

我用这个锚