【发布时间】:2014-01-05 16:52:25
【问题描述】:
有人可以解释为什么点击 btnSaveFile1,调用 onClientClick() 并且如果 onClientClick() 返回 true,它会调用服务器,但是如果 onClientClick() 返回 false 它不会调用服务器。我完全理解。
但为什么 btnSaveFile2 的情况并非如此,无论 onClientClick() 返回什么,它似乎都不会调用服务器?
为什么 return false; 必须是内联的?
<asp:Button ID="btnSaveFile1" runat="server" Text="Save" OnClientClick="if(!onClientClick()){return false;}" OnClick="btnSaveFile_Click" UseSubmitBehavior="false" />
<asp:Button ID="btnSaveFile2" runat="server" Text="Save" OnClientClick="return onClientClick()" OnClick="btnSaveFile_Click" UseSubmitBehavior="false" />
<script type="text/javascript">
function onClientClick() {
if (CurrentMemberValidatedWindow()) {
if (!ValidateForm()) {
return false;
}
}
else {
DeleteInvalidFiles();
return false;
}
return true;
}
</script>
【问题讨论】:
标签: javascript asp.net