Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何有条件地停止WebForm_doPostBack()?_Asp.net - Fatal编程技术网

Asp.net 如何有条件地停止WebForm_doPostBack()?

Asp.net 如何有条件地停止WebForm_doPostBack()?,asp.net,Asp.net,我需要通过onclick()运行一些脚本,特别是复选框,以决定是否调用WebForm_doPostBack() 如果我自己在myScript()中提交表单,它将不会导致另一个asp.net验证程序的验证,因此我确实需要一个本机WebForm_doPostBack()调用 我应该处理提交表单事件还是有其他“asp.net”方法来处理 CustomValidator不使用复选框:)。您是否尝试简单地将自己的验证放在“提交”按钮上,如下所示: btnSubmit.Attributes["onclick

我需要通过onclick()运行一些脚本,特别是复选框,以决定是否调用WebForm_doPostBack()

如果我自己在myScript()中提交表单,它将不会导致另一个asp.net验证程序的验证,因此我确实需要一个本机WebForm_doPostBack()调用

我应该处理提交表单事件还是有其他“asp.net”方法来处理


CustomValidator不使用复选框:)。

您是否尝试简单地将自己的验证放在“提交”按钮上,如下所示:

btnSubmit.Attributes["onclick"] += "return myValidation();";

<script>
    function myValidation()
    {
      // if you do not want to postback just return false...
      return true;
    }
</script>
btnSubmit.Attributes[“onclick”]+=“return myValidation();”;
函数myValidation()
{
//如果你不想回发,只需返回false。。。
返回true;
}
编辑:您可以使用以编程方式启用/禁用页面的客户端验证

Page_ValidationActive A布尔值 值,该值指示是否 应进行验证。设定这个 变量设置为false以关闭 客户端验证 以编程方式


为了确保您认为自定义验证器不能与复选框一起工作并不是希望单独处理复选框的唯一原因,请单击,下面是一些使用ASP.NET自定义验证器验证复选框的代码

自定义验证器具有ClientValidationFunction属性,在调用_doPostback或提交表单时自动调用该属性

//The Script
function validateCheckBox(source, arguments)
{
    if(!source.checked) arguments.IsValid = false;//set IsValid property to false

}

//The Validator
<asp:CustomValidator ID="validateCheckbox" runat="server" ControlToValidate="CheckBox1" ErrorMessage="You REALLY need to check this!" Display="Static" ClientValidationFunction="validateCheckBox"/>
//脚本
函数validateCheckBox(源、参数)
{
如果(!source.checked)arguments.IsValid=false;//将IsValid属性设置为false
}
//验证器

如果它根本不是WebForm_doPostBack(),它将不会导致对其他验证器的验证。如果会-我将如何停止它?因此,如果我理解正确,您不想在提交表单的其余部分时验证复选框,但您想在单击后单独验证它?我想进行验证,然后让(或不)asp.net自己进行验证。总结一下:单击复选框,运行验证代码并有条件地回发?或者单击复选框,验证包括复选框在内的所有控件?单击复选框,运行验证代码,然后有条件地验证包括复选框在内的所有其他控件如果我理解正确,您不希望在提交表单的其余部分时验证复选框,但希望在单击后单独验证它?–PortageMonkey 0秒前无法将ControltoValidate属性分配给复选框。