我使用了Asp.net验证控件,比如必需字段验证器等,所以我需要明确提到Page.IsValid还是默认调用?
<label>DeadLine</label>
<asp:TextBox ID="txtDeadLine" runat="server" CssClass="textField_width"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server"
ControlToValidate="txtDeadLine" ErrorMessage="Deadline Date is Required"
ForeColor="Red" ValidationGroup="GroupComposeLetter">Deadline Date is Required
</asp:RequiredFieldValidator>
<br />
<%--<asp:GridView ID="gridViewComplaints" runat="server"
></asp:GridView>--%>
<br />
答案 0 :(得分:3)
如果控件的CausesValidation
设置为true
(默认值),则不需要。
控制默认设置的位置:
Button
,ImageButton
,LinkButton
HtmlInputButton
,HtmlInputImage
,HtmlButton
TextBox
,CheckBox
,ListControl
和BulletedList
因此,如果您已将其设置为false
,则可以通过手动调用Page.Validate(ValidationGroupName)
强制验证服务器端。之后,您可以查看Page.IsValid
。
答案 1 :(得分:0)
验证发生在Page_Load之后,但在事件处理程序之前(参见http://msdn.microsoft.com/en-us/library/ms178472(v=VS.100).aspx)。
如果您的按钮未导致验证,则必须手动触发Page.Validate。
( Page.Validate 方法由CausesValidation属性设置为true的控件自动触发(这是Button控件的默认值)。
Page.IsValid属性告诉您验证是否成功。)
更多详情,请参阅此讨论