我有一个包含asp.net fileupload控件和requiredfield验证器的fileUpload User Control FileUploadControl.ascx。
我有另一个usercontrol RenderingTemplate.ascx,它包含两个FileUploadControl.ascx。
RenderingTemplate.ascx在页面RenderingTemplateDetails.aspx上,此页面有保存和取消按钮。
现在我的要求是用户在一个文件上传控件中选择一个文件,他也必须在其他文件中选择。如果他没有选择任何文件,请让回发发生。
我无法使用Requiredfieldvalidator,因为它同时触发。我尝试将onclientclick添加到页面保存按钮,并检查文件上传是否有一些文本。但我没有成功。
现在我希望此功能成为控件的一部分,这样我就不必在每个页面上重新编码。是否有任何usercontrol上的客户端事件,当点击页面的保存按钮时会触发该事件。请帮忙并提出一些解决方案。
答案 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以及一些额外的逻辑来解决此问题,但我认为这是我发现的最简单的实现。