如何访问相关的客户端ID

时间:2015-03-06 06:50:31

标签: javascript asp.net

提前致谢。

我有一个用户控件,它有一个上传html控件和按钮控件。我在一个页面中使用过两次这样的用户控件 <uc:upload id="FileUpload" runat="server" Header="Attachments" ToFile="True" Enabled="true" ></uc:upload>

<uc:upload id="ConfidentialFileUpload" runat="server" Header="Attachments" ToFile="True" Enabled="true" ></uc:upload>

我想放一个文件大小的验证不应该大于2 MB。对于此验证,我已将代码放在下面 var filepath = document.getElementById(&#34;&lt;%= filMyFile.ClientID%&gt;&#34;)。value;

现在的问题是,即使我在两个不同的上传控件中上传了两个不同的文件,filMyFile.ClientID仍然会返回相同的值(FileUpload_FilmyFile)。

1 个答案:

答案 0 :(得分:0)

我假设您在用户控件中放置了CustomValidation控件。如果FileUpload控件的ID是 FilMyFile 且验证控件的ID是 ValidateMyFile ,那么您的客户端验证功能可能如下所示:

function MyUploadValidation(source, arguments)
{
    // source is the validation control
    var fileUploadID = source.id.replace('ValidateMyFile', 'FilMyFile');
    var filePath = document.getElementById(fileUploadID).value;
    // Validation code
}

它可能不是最漂亮的方式,但它适用于我。