从javascript

时间:2017-09-14 10:45:30

标签: javascript c# asp.net-mvc visual-studio razor

在应用程序中,我们通过将操作名称和控制器名称放在Razor Views中的data-url-action属性中来处理按钮操作,如下所示:

<button type="button" class="btn" title="Add" data-url-action="@Url.Action("Add", "Home")">
    <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
</button>

它完美无缺,但现在我想允许或不允许从控制器调用该动作。在我的JavaScript中我有功能:

function setButtonsAccessibility(control) {
    if (!checkControl(control) {
        control.onclick = (function (event) {
            debugger;
            event.preventDefault();
        });
    }
}

该函数在调用控制器操作之前捕获onClick事件,但我不知道如何中断它。当我的要求被完整填写时,附加了onclick功能,在这里我想阻止触发操作。

我正在考虑覆盖一些Razor函数,该函数识别单击按钮并将完成的data-url-action同等重定向到指向的动作,但我没有信息如何找到该函数。有没有可能以这种方式解决这个问题,或者可能是更简单的解决方案?

event.preventDefault();

上述调用功能无法解决问题。

我正在寻找通用解决方案,我无法对视图进行数百次更改 - 这就是我想通过脚本解决问题的原因。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用 jquery event.stopPropagation()(假设您正在使用jquery)。

更多细节: https://api.jquery.com/event.stoppropagation/