我的页面上有一个自定义验证器,用于文件上传控件.
<asp:FileUpload ID="fuVendorBrief" runat="server" /> <br /> <asp:CustomValidator ID="cvVendorBriefFile" Display="Dynamic" runat="server" ValidationGroup="EditorValidate" ControlToValidate="fuVendorBrief" OnServerValidate="cvVendorBriefFile_ServerValidate" ErrorMessage="You must upload a vendor brief PDF file."> </asp:CustomValidator>
然后我也有一个按钮.
<asp:Button ID="btnSubmit" ValidationGroup="EditorValidate" OnClick="btnSubmit_Click" runat="server" Text="Add Vendor Brief" />
我已经定义了我的自定义验证器事件,如此…
protected void cvVendorBriefFile_ServerValidate(object source,ServerValidateEventArgs args) { CustomValidator fileUploadValidator = (CustomValidator)source; FileUpload vendorBriefFileUpload = (FileUpload)fileUploadValidator.Parent.FindControl(fileUploadValidator.ControlToValidate); args.IsValid = vendorBriefFileUpload.HasFile && vendorBriefFileUpload.FileName.ToLower().EndsWith(".pdf"); }
这个自定义验证器甚至没有被解雇.也许我只是累了,但一切看起来都对我好,所以一个洞察力是赞赏.如果我在服务器验证事件的任何地方放置一个断点,当我点击提交时,它不会被击中.我可以在提交按钮的点击事件中打破断点.
有任何想法吗?
编辑 – 忘了提到,我有其他验证控件,如所需的字段验证器,在页面上,他们射击很好.
编辑2 – 如果您想要页面的完整来源及其代码,请按照以下链接:
让我知道,如果你看到任何奇怪的东西.我在这里睡了一半,我希望我只是想念一些愚蠢的东西.