是否可以在满足特定条件时调用按钮上的onclick事件?
F.e。:如果函数调用返回数字>我想调用我的onclick事件。 0,类似于: if(checkNoOfRows()> 0)//调用onclickevent
是否可以内联执行此操作?
这是我的按钮onclick事件,我只想在满足某些条件时才打电话:
<button id="btnExportXLSPropsChild" onclick="location.href='@Url.Action("exportUserProp", "UserManagement", new { typeToExport = "CHILD" })'">Export</button>
答案 0 :(得分:1)
您应该删除内联事件并使用事件处理程序。从JavaScript事件处理程序,您可以检查存在多少行并有条件地运行您的函数。
$("#btnExportXLSPropsChild").on('click', function(){
if(checkNumberOfRows() > 0){
//code goes here
}
}
答案 1 :(得分:1)
您可以在razor
中执行此操作,但语法有点混乱。您需要<text>
元素,以便它不会尝试将onclick
解析为服务器上的代码:
<div @if (true) { <text>onclick="test"</text> }></div>
然而,更好的方法可能是将url添加为属性,然后使用check将javascript中的事件绑定。您的模板将类似于:
<button id="btnExportXLSPropsChild" data-url="@Url.Action("exportUserProp", "UserManagement", new { typeToExport = "CHILD" })">Export</button>
然后在jQuery中使用jQuery:
$("#btnExportXLSPropsChild").on('click', function(){
if(checkNumberOfRows() > 0){
var url = $(this).data('url');
window.location.href = url;
}
}
答案 2 :(得分:1)
Jquery可以为你做出魔力:
$('button').click(function(){
if(condition > 0)
{
windown.location.href = '@Url.Action("Action","Controller")';
}
});