Javascript AsyncFileUpload内置Listview插入、编辑Itemtemplate和清空数据模板赢得';行不通
AsyncFileUpload在Listview插入、编辑Itemtemplate和EmptyData模板中不起作用 以上是我的客户端功能Javascript AsyncFileUpload内置Listview插入、编辑Itemtemplate和清空数据模板赢得';行不通,javascript,asp.net,listview,asp.net-ajax,Javascript,Asp.net,Listview,Asp.net Ajax,AsyncFileUpload在Listview插入、编辑Itemtemplate和EmptyData模板中不起作用 以上是我的客户端功能 function AttachmentUploadSuccessful() { debugger; var textError = $(".AttachmentError").text(); if (textError.length > 0) { var text = $(".AttachmentError");
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. ");
}
函数AttachmentUploadSuccessful(){
调试器;
var textError=$(“.AttachmentError”).text();
如果(textError.length>0){
变量文本=$(“.AttachmentError”);
text.innerText=text.textContent=textError;
发送方。_onError(textError);//它将引发OnClientUploadError事件
返回;
}否则{
//警报(“文件附件已成功上载”);
//删除文件和文件上载程序背景色的代码
$('.ModelBackgroundforCreateItem').hide();
$('.popupanel').hide();
var UploadControls=$(“#:输入”);
上载控件。每个(函数(){
//$(此).val(“”);
$(this.css('background-color','#fff');
});
//通过单击按钮更新更新面板
$(“.RefreshList”)。单击();
}
}
函数AttachmentUploadFailed(){
警报(“上载文件附件时出错”);
}
.aspx文件中的标记
<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>
我发现您共享的代码中存在两个问题:
那行代码:var UploadControls=$(“#:输入”)
您的标记中没有clientdmode
属性,因此它是Inherit
这两个问题的根源相同:您在列表视图
中使用AsyncFileUploader
,因此页面中将有多个元素具有FileUpload
id
因此,首先必须将函数声明更改为:
function AttachmentUploadSuccessful(sender, e) { // then you can get the sender
然后,要获得输入
,您将使用:
var UploadControls = $(sender._inputFile);
最后,要解决第二个问题,您需要将clientdmode
属性更改为AutoID
,以便AsyncFileUploader
能够正确找到其引用的客户端成员。您在FileUpload\u UploadedCompleteYes中做了什么。我正在进行数据库调用以保存附件,并获取附件id并将其存储在提交发件人时将使用的页面上。是否必须在更新面板中??我知道正常的上传控制不起作用,但你说这个可以。疑惑的。我从未使用过AsyncFileUpload。不需要更新面板此async file upload控件已具有更新面板,因此据我所知,没有必要再添加一个更新面板。@Liquid回答了您的问题:)