由自定义验证程序验证的fileupload存在问题。文本框值始终为空或onververvalidate为null。
ASPX
<asp:CustomValidator ID="cvFileUpload" runat="server"
ErrorMessage="Please select file!" ControlToValidate="fuCheatingEvidence"
onservervalidate="cvFileUpload_ServerValidate"
ValidationGroup="vgSubmitForm" ValidateEmptyText="True"></asp:CustomValidator>
<asp:FileUpload ID="fuCheatingEvidence" runat="server"
Width="890px" Size="50" />
代码背后
protected void cvFileUpload_ServerValidate(object source, ServerValidateEventArgs args)
{
String fileName = fuCheatingEvidence.PostedFile.FileName;
if (fileName != "")
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
这只是一个简单的检查,看看FileUpload控件是否为空,稍后我将添加一些自定义验证。
答案 0 :(得分:0)
我检查了你的代码,它运作得很好。
添加文件时,我同时获得hasFile
和fileName
protected void cvFileUpload_ServerValidate(object source, ServerValidateEventArgs args)
{
bool hasFile = fuCheatingEvidence.HasFile; // Returns true
String fileName = fuCheatingEvidence.PostedFile.FileName; // Returns the filename
.....
}
这让我相信你的代码的其他部分会导致问题。我建议仅使用FileUpload
和CustomValidator
创建一个辅助项目,并亲眼看看它是否有效。然后,尝试找出导致主项目出现问题的原因。如果您仍有问题,请提出另一个特定于您遇到的真正问题的问题。