我有一个FileUpload
控件,为此我附加了RequiredFieldValidator
和RegularExpressionValidator
。我的代码可以在计算机上正常工作,但在生产中RequiredFieldValidator
或RegularExpressionValidator
均不会触发。这对我来说很奇怪,对此我没有任何解释。
我的代码是:
<asp:FileUpload ID="XlsUpload" runat="server" CssClass="TextInput" Width="250" />
<asp:LinkButton id="lbnUploadFile" Runat="server" CssClass="MainLink" ToolTip="Upload File" OnClick="lbnUploadFile_Click">Upload File</asp:LinkButton>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="warning" runat="server" ControlToValidate="XlsUpload" ErrorMessage="Please Upload a File!"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" CssClass="warning" runat="server" ControlToValidate="XlsUpload"
ErrorMessage="Please upload only txt and docfiles" ValidationExpression=".*\.([tT][xX][tT]|[dD][oO][cC])"></asp:RegularExpressionValidator>
这可能是什么原因?
最佳答案
这在我的情况下有效:
<asp:FileUpload runat="server" ID="FUFileCurriculum" />
<asp:RegularExpressionValidator runat="server" ID="FUFileCurriculumValidator" ControlToValidate="FUFileCurriculum" ErrorMessage="Unauthorized file extension" ValidationExpression="^.+\.(?!exe|js|bat).*$" />
这样可以避免上传以exe,js或bat结尾的文件。