如何在asp.net中限制空文件上传控件

时间:2015-04-24 11:42:45

标签: javascript c# jquery asp.net .net

使用JQuery我限制文件扩展名但是我遇到的问题是“如果我没有上传任何视频,只是我点击上传按钮就不能验证”。这是我的代码,我必须做什么编辑?

Sample.aspx

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

 $(function () {
    $('#<%=FileUploadbtn.ClientID %>').change(
             function () {
                 var fileExtension = ['mp4'];
                 if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
                     // alert("Invalid");
                     $('#<%=uploadbtn.ClientID %>').attr("disabled", true);
                     $('#<%= lblError.ClientID %>').html("Invalid");
                 }
                 else {
                     $('#<%=uploadbtn.ClientID %>').attr("disabled", false);
                     $('#<%= lblError.ClientID %>').html(" ");
                 }
             })
})

ASPX代码

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Upload" CssClass="button" OnClick="uploadbtn_Click" />
<asp:Label ID="lblError" runat="server" Text="Label"></asp:Label>

2 个答案:

答案 0 :(得分:0)

对fileupload control使用'requiredfieldvalidator'。工作正常。

答案 1 :(得分:0)

在实施时不需要使用Javascript。您只需使用asp.net必需字段验证程序即可实现您想要实现的目标。

在这里,非常简单: -

<asp:FileUpload ID="FileUploadbtn" runat="server" />
<asp:RequiredFieldValidator ID="requpload" runat="server" ControlToValidate="FileUploadbtn" ValidationGroup="abc" ErrorMessage="Please select the file"></asp:RequiredFieldValidator>
<asp:Button ID="uploadbtn" runat="server" Text="Upload" CssClass="button" OnClick="uploadbtn_Click" ValidationGroup="abc" />

注意不要忘记添加ValidationGroup,因为它会正确验证添加了此属性的控件

以下是与必填字段验证器相关的一些文档。请通过链接了解一些知识。

RequiredField Validator

希望有所帮助