在Javascript

时间:2017-10-12 22:10:30

标签: javascript jquery asp.net-mvc razor

这可能已经在某处得到了回答,但我找不到任何对我有意义的信息。

我的 cshtml 中有取消按钮,其中包含 href ='@ Url.Action(“索引”)。它看起来像这样:

<a href='@Url.Action("Index")' class="linkbutton" id="btnCancel" title="Return to Home Page">Cancel</a>

现在,如果已经进行了更改,我需要确认是在离开之前离开页面还是保存更改。

因此,我在按钮单击上添加了一个事件,以显示一个弹出窗口以确认继续或保存。当然,将按钮代码保留在cshtml文件中,就像人们期望的那样。这是一个链接,我的活动永远不会发生。

我将cshtml按钮更改为以下代码:

<input type="button" class="navigationButtons" id="btnCancel" value="Cancel" title="Return to Home Page" />

现在,我的事件被触发,我显示我的弹出窗口以确认继续或保存。  保存工作得很好,因为它是另一种执行保存到数据库的方法。 我无法将“确认”按钮变为链接按钮,因为它在代码中的其他位置使用,只是在不离开页面的情况下继续。

我找到了 window.location $。get $ .ajax 的答案。但我无法弄清楚如何输入将转到我的索引页面的JavaScript代码。

请!有谁知道如何做到这一点,并帮助我理解我显然不知道的事情。 : - (

1 个答案:

答案 0 :(得分:2)

如果您的JavaScript包含在.cshtml文件中,您可以在脚本中编写Razor代码:

window.location.replace('@Url.Action("Index")');

如果您遇到问题,可以尝试在页面上创建hidden链接,然后点按JavaScript即可触发:

<a id="my-hidden-url" href="@Url.Action("Index")" hidden></a>

<script>
    $('#my-hidden-url').trigger('click');
</script>