Javascript 仅当条件为真时,Razor按钮onclick调用

Javascript 仅当条件为真时,Razor按钮onclick调用,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,是否只有在满足特定条件时才能调用按钮上的onclick事件 F.e.:如果函数调用返回number>0,我想调用onclick事件,类似于: if(checkNoOfRows()>0)//调用onclickevent 是否可以在线执行此操作 这是我的button onclick事件,我只想在满足某些条件时调用它: <button id="btnExportXLSPropsChild" onclick="location.href='@Url.Action("exportUserProp",

是否只有在满足特定条件时才能调用按钮上的onclick事件

F.e.:如果函数调用返回number>0,我想调用onclick事件,类似于: if(checkNoOfRows()>0)//调用onclickevent

是否可以在线执行此操作

这是我的button onclick事件,我只想在满足某些条件时调用它:

<button id="btnExportXLSPropsChild" onclick="location.href='@Url.Action("exportUserProp", "UserManagement", new { typeToExport = "CHILD" })'">Export</button>
导出

您应该删除内联事件,改用事件处理程序。从JavaScript事件处理程序中,可以检查存在多少行并有条件地运行函数

$("#btnExportXLSPropsChild").on('click', function(){
    if(checkNumberOfRows() > 0){
        //code goes here
    }
}

您应该删除内联事件并改用事件处理程序。从JavaScript事件处理程序中,可以检查存在多少行并有条件地运行函数

$("#btnExportXLSPropsChild").on('click', function(){
    if(checkNumberOfRows() > 0){
        //code goes here
    }
}

您可以在
razor
中执行此检查,但语法有点混乱。您需要
元素,这样它就不会试图将您的
onclick
解析为服务器上的代码:

<div @if (true) { <text>onclick="test"</text>  }></div>

您可以在
razor
中执行此检查,但语法有点混乱。您需要
元素,这样它就不会试图将您的
onclick
解析为服务器上的代码:

<div @if (true) { <text>onclick="test"</text>  }></div>

Jquery可以为您带来奇迹:

$(“按钮”)。单击(函数(){
如果(条件>0)
{
windown.location.href='@Url.Action(“操作”、“控制器”);
}

});

Jquery可以为您发挥神奇的作用:

$(“按钮”)。单击(函数(){
如果(条件>0)
{
windown.location.href='@Url.Action(“操作”、“控制器”);
}

});

您想在服务器上还是客户端上执行检查?我想在客户端上执行检查。您想在服务器上还是客户端上执行检查?我想在客户端上执行检查。好的,但是如何调用@Url.Action?刚才看到了,抱歉。我建议将url操作作为元素的数据属性,并使用jQuery从元素中获取它,或者将url直接写入javascript变量并将位置设置为变量。好的,但是如何调用@url.action?刚才看到了,抱歉。我建议将url操作作为元素的数据属性,并使用jQuery从元素中获取它,或者将url直接写入javascript变量并将位置设置为该变量。效果很好:)谢谢。是否可以向url添加一些参数?我的参数将来自隐藏字段,因此我可以执行如下操作:validFrom=$('hiddenValidFrom')。val()的工作原理类似于一个符咒:)谢谢。是否可以向url添加一些参数?我的参数将来自隐藏字段,因此我可以执行如下操作:validFrom=$('hiddenValidFrom').val()