Asp.net 未触发AsyncFileUpload事件
我有以下cod:Asp.net 未触发AsyncFileUpload事件,asp.net,events,file-upload,ajaxcontroltoolkit,Asp.net,Events,File Upload,Ajaxcontroltoolkit,我有以下cod: <asp:AsyncFileUpload ID="asyncUploader" runat="server" ThrobberID="myThrobber" BackColor="#ff99cc"/><br /><br /> <asp:Label runat="server" ID="debug"></asp:Label> c#文件看起来像这样: protected void Page_Load(object
<asp:AsyncFileUpload ID="asyncUploader" runat="server" ThrobberID="myThrobber" BackColor="#ff99cc"/><br /><br />
<asp:Label runat="server" ID="debug"></asp:Label>
c#文件看起来像这样:
protected void Page_Load(object sender, EventArgs e)
{
asyncUploader.UploadedComplete += new EventHandler<AsyncFileUploadEventArgs>(uploadComplete);
}
protected void uploadComplete(object sender, AsyncFileUploadEventArgs e)
{
debug.Text += "y";
if (asyncUploader.HasFile == true)
{
debug.Text += "x";
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
asyncUploader.UploadedComplete+=新事件处理程序(uploadComplete);
}
受保护的void uploadComplete(对象发送方,AsyncFileUploadEventArgs e)
{
debug.Text+=“y”;
if(asyncUploader.HasFile==true)
{
debug.Text+=“x”;
}
}
选择要上载的文件或完成下载时,标签中的文本不会更改。我做错了什么吗?标签文本实际上正在更改,但由于AsyncFileUpload回发,每次调用uploadComplete方法时都会重置标签文本。因此,更好的方法是使用javascript更改标签文本 您可以使用AsyncFileUpload的
OnClient LoadComplete
事件来完成此操作
将OnClientUploadComplete
事件添加到AsyncFileUpload标记中,如下所示:
<asp:AsyncFileUpload OnClientUploadComplete="uploadComplete" ID="asyncUploader" runat="server" ThrobberID="myThrobber" BackColor="#ff99cc"/><br /><br />
<asp:Label runat="server" ID="debug"></asp:Label>
这样,您不需要在代码隐藏中执行任何操作,所有操作都将在javascript中完成
希望这有帮助。本文仅用于调试目的。这就是为什么被命名为“调试”。我只是想知道是否有一种方法可以调用我修改后保存的方法和数据。啊,我明白了,我认为问题只是上传完成后需要更改标签文本。你能确切地告诉我你想要实现什么,以便我能提供帮助吗?我试图让一个按钮在上传文件时出现和消失,如果上传了一个文件,你点击按钮,文件就会被卸载,按钮就会消失
<script type="text/javascript">
function uploadComplete(sender, args) {
//First, change the label text
document.getElementById("<%= debug.ClientID %>").innerHTML += "y";
//Check if the upload has files or not
if (document.getElementById("asyncUploader").value != "") {
//It has files, change the label text
document.getElementById("<%= debug.ClientID %>").innerHTML += "x";
}
}
</script>