在Web Forms中,一般情况下点击按钮控件<asp:LinkButton>,一般情况是会直接触发其绑定的后端函数的。但是,如果需要先调用前端js函数,进行一些业务处理后,再决定是否触发后端函数,那要怎么操作呢?
步骤如下:
1. 利用控件中的 OnClientClick 属性调用前端函数;
如:
<asp:LinkButton ID="lbkDelete" CssClass="delFile"
<span style="color:#ff0000;">OnClientClick
</span>='<%# "return DelFile(\""+Eval("PicID").ToString()+"\");"%>'
runat="server" CommandName="Delete" CommandArgument='<%# Eval("PicID")%>'>
</asp:LinkButton>
2. 再在JS函数中调用后端函数;
function DelFile(picID) {
if (confirm('是否删除?')) {
var InvestInfoID = $("#hfInvestInfoID").val();
if (InvestInfoID != undefined && InvestInfoID != "" && picID != undefined && picID != "") {
<span style="color:#ff0000;">
var res = Elink.Web.CrashInvestPic.CrashInvestPicList.
IsDelFileData(picID, InvestInfoID); // 此处调用后端函数
</span>
var reportStatus = res.value;
if (reportStatus == 3) {
alert("联合调查图片已审核不允许删除!");
return false;
}
else if (reportStatus == 0) {
if (confirm("联合调查图片文件不存在,是否删除?")) {
return true; // 返回 true,则此函数返回后,执行后端绑定的函数
}
else {
return false; // 返回 false,则不执行后端绑定的函数
}
}
else if (reportStatus == 1) {
return true;
}
}
}
return false;
}