如何调用ASP.NET C#中RangeValidator错误的javascript代码?

如何调用ASP.NET C#中RangeValidator错误的javascript代码?,javascript,c#,asp.net,Javascript,C#,Asp.net,我在文本字段上使用RangeValidator,当值更改且不在指定的范围内时,错误文本会被正确设置。然而,我也想运行一些Javascript,但似乎无法触发Javascript 如何使javascript在出错时运行 我尝试使用OneRor,但似乎不起作用: <asp:RangeValidator ID="maxUsersRangeValidator" runat="server" ControlToValidate="maxNumUsersTextBox" ErrorMessage="E

我在文本字段上使用RangeValidator,当值更改且不在指定的范围内时,错误文本会被正确设置。然而,我也想运行一些Javascript,但似乎无法触发Javascript

如何使javascript在出错时运行

我尝试使用OneRor,但似乎不起作用:

<asp:RangeValidator ID="maxUsersRangeValidator" runat="server" ControlToValidate="maxNumUsersTextBox" ErrorMessage="Error: max users must be between 100 and 1,000 users per batch" ForeColor="Red" MaximumValue="1000" MinimumValue="100" onerror="javascript:closeloading()" Type="Integer"></asp:RangeValidator>

您可以使用CustomValidator:

 <asp:CustomValidator ID="CustomValidator1" runat="server" EnableClientScript="true" ForeColor="Red" ErrorMessage="Error: max users must be between 100 and 1,000 users per batch" ClientValidationFunction="validateRange" ControlToValidate="maxNumUsersTextBox"></asp:CustomValidator>

然后,使用Javascript验证范围:

function validateRange(sender, args){
var cant = document.getElementById("maxNumUsersTextBox");
if(cant>=100 && cant<=1000){
   args.IsValid = true;
}else{
closeLoading();
   args.IsValid = false;
}
}
function validateRange(发送方,参数){
var cant=document.getElementById(“MaxNumuserTextBox”);

如果(铁路超高>=100&&cant,则可以使用CustomValidator:

 <asp:CustomValidator ID="CustomValidator1" runat="server" EnableClientScript="true" ForeColor="Red" ErrorMessage="Error: max users must be between 100 and 1,000 users per batch" ClientValidationFunction="validateRange" ControlToValidate="maxNumUsersTextBox"></asp:CustomValidator>

然后,使用Javascript验证范围:

function validateRange(sender, args){
var cant = document.getElementById("maxNumUsersTextBox");
if(cant>=100 && cant<=1000){
   args.IsValid = true;
}else{
closeLoading();
   args.IsValid = false;
}
}
function validateRange(发送方,参数){
var cant=document.getElementById(“MaxNumuserTextBox”);

如果(cant>=100&&cant我也想运行一些Javascript…你能把你的
Javascript
代码放进去吗?Javascript与我要完成的事情无关。我只是想首先触发Javascript。我也想运行一些Javascript…你能把
Javascript
代码放进去吗?Javascript是ir与我试图实现的目标相关。我只是试图首先触发javascript。返回true/false是不正确的,而只是在ClientValidationFunction中使用函数名,并将方法签名更改为(sender,args)。然后将args.IsValid设置为true或false。@moarboilerplate我不确定您的意思,也不知道如何将args.IsValid设置为true或false?此方法返回true或false,对吗?不应该,因为返回true或false实际上没有任何作用。相反,如果您允许,ASP.NET会将对象传递给javascript函数,而args它将传递给您的对象是您用来定义验证是否失败的对象。因此,请使用ClientValidationScript=“validateRange”,然后将
validateRange()
更改为
validateRange(发送方,args)
。然后将args.IsValid=true/false函数设置为validateRange(发送方,args){var textBox=document.getElementById(“MainContent_maxNumUsersTextBox”);如果(parseInt(textBox.value)>=100&&parseInt(textBox.value),您是否将ClientValidationFunction更改为“validateRange”或它仍然说“validateRange()”在您的validator标记中?看看这个例子:返回true/false是不正确的,只需在ClientValidationFunction中使用函数名,并将方法签名更改为(sender,args)。然后将args.IsValid设置为true或false。@moarboilerplate我不确定您的意思,也不知道如何将args.IsValid设置为true或false?此方法返回true或false,对吗?不应该,因为返回true或false实际上没有任何作用。相反,如果您允许,ASP.NET会将对象传递给javascript函数,而args它将传递给您的对象是您用来定义验证是否失败的对象。因此,请使用ClientValidationScript=“validateRange”,然后将
validateRange()
更改为
validateRange(发送方,args)
。然后将args.IsValid=true/false函数设置为validateRange(发送方,args){var textBox=document.getElementById(“MainContent_maxNumUsersTextBox”);如果(parseInt(textBox.value)>=100&&parseInt(textBox.value),您是否将ClientValidationFunction更改为“validateRange”,或者它在您的validator标记中仍然显示“validateRange()”?请查看以下示例: