2017-04-27 38 views
1

验证错误后假我要文件上传代码...在onchange事件上传到物理文件夹之前检查文件大小,格式。如果所有验证都为真,则上传按钮将从onchange事件触发。Page.IsValid总是在asp.net

一切工作正常,但我错了上传格式的文件,并验证错误会弹出,并在接下来的文件上传Page.Isvalid是假的所以档案无法上传甚至正确的格式/尺寸上传。如何解决这个问题。

下面

是代码:

的JavaScript

function UploadFile(fileUpload) { 


    if (fileUpload.value != '') { 
     var title = document.getElementById("<%=txtTitle.ClientID%>").value; 
     var sFileName = fileUpload.value.toLowerCase(); 
     var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1]; 
     var file = (fileUpload.files[0].size/1024); 
     var limit = <%= ConfigurationManager.AppSettings["MaxLimit"]%>; 

     var maxlimit = limit * 1024; 
     var type = document.getElementById("<%=hdnType.ClientID%>").value; 
     if (title != "") { 
      if (file > maxlimit) { 


       fileUpload.value = null; 
       ShowAlert("Sorry the file you are trying to upload exceeds the allowed file limit. Allowed size is 10MB."); 

      } 
      else { 
       if (type == 1) { 
        if (sFileExtension != "png" && sFileExtension != "jpg" && sFileExtension != "jpeg") { 

         fileUpload.value = null; 
         ShowAlert("File Format not supported. Please upload .jpeg/.png files"); 


        } 
        else { 
         document.getElementById("<%=btnSave.ClientID%>").click(); 

        } 
       } 
} 
} 


<asp:FileUpload ID="upldfile" runat="server" onchange="UploadFile(this)" ClientIDMode="Static" /> 
<asp:Button ID="btnSave" runat="server" UseSubmitBehavior="false" ValidationGroup="save" Text="Save" style="display:none;" OnClick="Upload" data-dismiss="modal" class="btn btn-danger" /> 

上传事件

public void Upload(object sender, EventArgs e) 
    { 
     if (Page.IsValid) 
     { 
      SavePortfolio(); 
     } 


    } 

回答

0

试试这个

function UploadFile(fileUpload) 
{ 
    if (fileUpload.value != '') { 
     var title = document.getElementById("<%=txtTitle.ClientID%>").value; 
     var sFileName = fileUpload.value.toLowerCase(); 
     var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1]; 
     var file = (fileUpload.files[0].size/1024); 
     var limit = <%= ConfigurationManager.AppSettings["MaxLimit"]%>; 
     var maxlimit = limit * 1024; 
     var type = document.getElementById("<%=hdnType.ClientID%>").value; 

     if (title != "") { 
      if (file > maxlimit) { 
       fileUpload.value = null; 
       ShowAlert("Sorry the file you are trying to upload exceeds the allowed file limit. Allowed size is 10MB."); 
       return; 
      } 
      else { 
       if (type == 1) { 
        if (sFileExtension != "png" && sFileExtension != "jpg" && sFileExtension != "jpeg") { 
         fileUpload.value = null; 
         ShowAlert("File Format not supported. Please upload .jpeg/.png files"); 
         return; 
        } 
        else { 
         document.getElementById("<%=btnSave.ClientID%>").click(); 
        } 
       } 
      } 
     } 
    } 
} 
+0

不工作。在代码中,fileupload.hasfile是错误的 – sara