ASP:在Validator呈现为False之后,CustomValidator继续执行我的其余代码。我有几个文本框(名称,日期,IdNumber,OtherShit) 这是一些代码:
<span class="grouping" id="span1" runat="server">
<label>
ID Number</label>
<asp:TextBox ID="tbIdNumber" runat="server" MaxLength="6" Columns="10"></asp:TextBox>
<asp:CustomValidator ID="CustomValidatorIdNumber" runat="server" ErrorMessage="Please enter date."
ControlToValidate="tbIdNumber" OnServerValidate="CustomValidatorLocation_ServerValidate1"> </asp:CustomValidator>
</span>
后面是控制验证器的后端代码:
Protected Sub CustomValidatorLocation_ServerValidate1(source As Object, args As ServerValidateEventArgs) Handles CustomValidatorIdNumber.ServerValidate
Dim currentUserId = Things.AuthenticatedData.Get_CurrentUser.Id
If (Convert.ToString(args.Value)) Is currentUserId Then
args.IsValid = True
ElseIf (Convert.ToString(args.Value)) IsNot currentUserId And bdpDate.IsNull Then
args.IsValid = False
End If
End Sub
因此,每个登录的人都有一个其他用户都知道的ID。仅供参考,这是一个搜索过滤器。基本上我想要做的是:如果用户输入自己的ID,那么一切都很好,并将继续通过代码执行。如果用户键入其他用户ID,则还需要包含日期。如果没有包含日期,则在单击&#34;搜索&#34;时会抛出错误消息。 (但不执行搜索)直到他们提出日期。目前它完成了所有这些,但仍然执行搜索。嗯......请帮助......
答案 0 :(得分:0)
确保将Page.IsValid()放在btnClick ... fml的右侧实例上。现在工作完美。