如何在asp.net文件上传控件上进行此验证?

时间:2010-06-22 04:52:51

标签: asp.net

我有一个包含asp.net fileupload控件和requiredfield验证器的fileUpload User Control FileUploadControl.ascx。

我有另一个usercontrol RenderingTemplate.ascx,它包含两个FileUploadControl.ascx。

RenderingTemplate.ascx在页面RenderingTemplateDetails.aspx上,此页面有保存和取消按钮。

现在我的要求是用户在一个文件上传控件中选择一个文件,他也必须在其他文件中选择。如果他没有选择任何文件,请让回发发生。

我无法使用Requiredfieldvalidator,因为它同时触发。我尝试将onclientclick添加到页面保存按钮,并检查文件上传是否有一些文本。但我没有成功。

现在我希望此功能成为控件的一部分,这样我就不必在每个页面上重新编码。是否有任何usercontrol上的客户端事件,当点击页面的保存按钮时会触发该事件。请帮忙并提出一些解决方案。

1 个答案:

答案 0 :(得分:0)

如果添加自定义验证器,解决方案将变得更加容易。看看如何将客户端验证功能添加到自定义验证器。

为两个文件上传添加自定义验证器,然后在客户端验证功能中,放置一个javascript函数, 这是一个简单的例子:


function ValidateUpload(source,args){
   //assume f1 and f2 are your file upload controls:
   var f1 = document.getElementById('f1'); //in case of asp.net control use clientID
   var f2 = document.getElementById('f2');
   if(f1.value == f2.value)
     args.IsValid = true;
   else
     args.IsValid = false;
}


注意:您也可以使用单个自定义验证器,或者您可以使用source和args.Value以及一些额外的逻辑来解决此问题,但我认为这是我发现的最简单的实现。