CheckBox事件找不到javascript函数

时间:2011-11-16 16:26:39

标签: c# javascript asp.net checkbox

我有一些控件用于在用户对服务器数据进行软删除之前验证某些数据。

错误:

编译器错误消息:CS1061:'ASP.editdivision_aspx'不包含'show_confirm'的定义,并且没有扩展方法'show_confirm'接受类型'ASP.editdivision_aspx'的第一个参数可以找到(你是否错过了使用指令或程序集引用?)

Line 28:         <td><asp:TextBox runat="server" ID="txtDivisionName"  Width="250"  /></td>
Line 29:     </tr>
Line 30:     <tr><td><asp:CheckBox ID="chkDelete" runat="server" Text="Delete" OnCheckedChanged="show_confirm" /></td></tr>
Line 31:     <tr><td><asp:Button ID="btnSave" runat="server" Text="Save" OnClick="SaveClick" /></td></tr>
Line 32: </table>

剧本:

<script type="text/jscript" >
function show_confirm() {
    PageMethods.VerifyDelete(CallSuccess, CallFailed);
}
function CallSuccess(res, destCtrl) {}
function CallFailed(res, destCtrl) {
    var r = confirm("There are active Campaigns in this Division!\nAre you sure you want to proceed?");
    if (r == true) {
        PageMethods.Save();
        //alert("Division and related Campaigns deleted.");
    }
}
</script>

我无法确定为什么会收到此运行时错误。我是asp和javascript的新手,所以我确信这是我错过的一些简单的东西,但我一直在寻找2天的问题。

2 个答案:

答案 0 :(得分:3)

属性OnCheckedChanged需要服务器端事件处理程序,而不是javascript函数。

尝试onchange属性,该属性是客户端事件的标准html属性:

<asp:CheckBox ID="chkDelete" runat="server" Text="Delete" onchange="show_confirm()" />


修改

似乎asp.net正在生成一个元素并在span上应用'onchange'而不是。

发现此帖子处理此问题:Add client-side onchange handler to ASP.NET CheckBox control


答案 1 :(得分:0)

这对我有用,onchange和OnClientClick不起作用,onclick做了:

    <asp:CheckBox ID="EnabledCheckBox" runat="server" OnClick="showDiv(this.checked);"/>
<div id="ShowDiv">Show me now</div>

使用Javascript:

function showDiv(show) {
  if (show) {
    $('#ShowDiv').show("slow");
  } else {
    $('#ShowDiv').hide("slow");
  }
}