CustomValidator.OnServerValidate,验证不通过时通过UpdatePanel实时显示错误信息,但是提交按钮依旧会触发,如何解决这个问题
时间: 2024-03-10 10:49:51 浏览: 24
您可以在 CustomValidator 的 OnServerValidate 方法中,设置 args.IsValid 属性为 false,表示验证不通过。同时,在页面中,您可以使用 JavaScript 的方式来控制提交按钮是否可用,如果验证不通过,则将提交按钮禁用,如果验证通过,则将提交按钮启用。
以下是一个示例代码,供您参考:
```c#
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
// 在这里进行验证
if (验证不通过)
{
args.IsValid = false;
UpdatePanel1.Update();
ScriptManager.RegisterStartupScript(this, this.GetType(), "disableButton", "$('#submitButton').attr('disabled', true);", true);
}
else
{
args.IsValid = true;
UpdatePanel1.Update();
ScriptManager.RegisterStartupScript(this, this.GetType(), "enableButton", "$('#submitButton').attr('disabled', false);", true);
}
}
```
在上面的代码中,我们假设您的提交按钮的 ID 为 submitButton。在验证不通过时,我们先通过 UpdatePanel1.Update() 方法,实时更新错误信息。然后,我们使用 ScriptManager.RegisterStartupScript 方法,向页面中注册一个 JavaScript 脚本,该脚本会将提交按钮禁用。类似地,在验证通过时,我们将提交按钮启用。
希望这个解决方案能够帮助到您。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)