2011-11-16 81 views
2

我有一些控件设计用来在用户可以对服务器数据进行软删除之前验证某些数据。CheckBox事件找不到javascript函数

错误:

编译器错误消息:CS1061:“ASP.editdivision_aspx”不包含关于“show_confirm”和没有扩展方法“show_confirm”接受型的第一参数“ASP.editdivision_aspx”可能定义找到(是否缺少using指令或程序集引用?)

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天的问题。

回答

3

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

尝试onchange属性这对客户端事件的标准的HTML属性:

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


编辑:

这好像asp.net正在产生元件,并应用'onchange'的跨度而不是。

发现这个职位,这个问题涉及:Add client-side onchange handler to ASP.NET CheckBox control


+0

+1:Spot on .... –

+0

我昨天正在尝试与一些同事的帮助。将这些分配给span标签。 –

+0

你的意思是说,'onchange'属性是在asp.net与复选框一起生成的上设置的? –

0

这是什么工作对我来说,平变化和的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"); 
    } 
}