AsyncFileUpload is not working inside Listview Insert, Edit Itemtemplate and EmptyData Template.
Above is my Client Side Functions
function AttachmentUploadSuccessful() {
debugger;
var textError = $(".AttachmentError").text();
if (textError.length > 0) {
var text = $(".AttachmentError");
text.innerText = text.textContent = textError;
sender._onError(textError); // it will raise the OnClientUploadError event
return;
} else {
//alert(" File attachment is uploaded successfully.");
//CODE TO REMOVE FILE AND BACKGROUND COLOR OF FILE UPLOADER
$('.ModelBackgroundforCreateItem').hide();
$('.PopupPanel').hide();
var UploadControls = $('#<%= FileUpload.ClientID %> :input');
UploadControls.each(function () {
//$(this).val("");
$(this).css('background-color', '#fff');
});
//Updating Update panel by clicking button
$(".RefreshList").click();
}
}
function AttachmentUploadFailed() {
alert("An error occured while uploading File Attachment. ");
}
Markup in .aspx file
<asp:ListView ID="ListView2" runat="server">
<EmptyDataTemplate>
<table class="fileUpload" runat="server" id="FileUploadID">
<tr>
<td>
<div style="width: 350px; overflow-x: hidden;">
<asp:AsyncFileUpload runat="server" ID="FileUpload" ThrobberID="Throbber" OnClientUploadError="AttachmentUploadFailed"
OnClientUploadComplete="AttachmentUploadSuccessful" UploaderStyle="Traditional" UploadingBackColor="" Style="display: inline-block; margin-top: 5px;"
OnUploadedComplete="FileUpload_UploadedComplete">
</asp:AsyncFileUpload>
</div>
</td>
<td style="width: 30px">
<asp:Image ID="Throbber" ImageUrl="~/Image/AttachmentLoading.gif" Style="display: None; width: 20px;" runat="server" />
<br />
</td>
</tr>
</table>
</EmptyDataTemplate>
</asp:ListView>
Trying to upload file Client side event OnClientUploadError
is getting called
Not able to understand why it is giving error.
same file upload on simple page and inside Update panel working but inside list-view it is giving client error.
Gone through above link issue not getting exact answer please help me out.
How to find Ajaxfileupload control inside Listview When in Editmode
I can see two problems in the code you shared:
var UploadControls = $('#<%= FileUpload.ClientID %> :input')
ClientIDMode
property in your markup, so it'sInherit
These two problems have the same origin: you're using the
AsyncFileUploader
inside aListView
, so there will be more than one element in your page with theFileUpload
id.So, firstly you must change the function declaration to:
And then, to get the the
input
, you'll be using:Finally, to fix the 2nd problem, you'll need to change the
ClientIDMode
property toAutoID
, so theAsyncFileUploader
will be able to properly find its referenced client members.