Myk*_*oft 6 c# asp.net .net-3.5
我有一个asp.net页面,其中包含多个验证摘要ShowMessageBox="True"和几个验证器.我遇到了一种情况,当验证失败时,验证摘要显示正确,但是通常会触发页面回发的下一次单击不会触发回发.所以步骤看起来像这样:
什么可能导致这种行为?
编辑:验证以下列方式进行.在asp页面中:
<asp:Button runat="server" id="btn" onClientClick="return DoValidation();" />
Run Code Online (Sandbox Code Playgroud)
在javascript中:
function DoValidation() {
if (!Page_ClientValidate('group1'))
return false;
if (!Page_ClientValidate('group2'))
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
Myk*_*oft 16
在对此进行了处理并仔细使用调试器之后,我终于发现,当您按照编辑问题中描述的方式进行验证时,布尔值设置为失败,阻止页面的下一个PostBack通过.我相信这是在自动完成验证时完成的,而不是像我在这里那样明确地进行验证.将上面描述的javascript更改为如下所示:
function DoValidation() {
if (!Page_ClientValidate('group1')) {
Page_BlockSubmit = false;
return false;
}
if (!Page_ClientValidate('group2')) {
Page_BlockSubmit = false;
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
导致问题消失.希望这将有助于下一个犯同样错误的人.
| 归档时间: |
|
| 查看次数: |
3897 次 |
| 最近记录: |