我已经努力了好一阵子了,没有运气。
使用asyncfileupload控件上传文件并显示图像。如果我重新加载/刷新页面,则上传工作正常,并显示图像。
但是需要知道如何在不重新加载/刷新页面的情况下执行此操作。
阅读在线帖子后,我看到使用scriptmanager的建议,但这对我不起作用:
protected void FileUploadComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
.
.
.
.
ScriptManager.RegisterStartupScript(this, GetType(), "TestAlert",
"window.parent.document.getElementById('" + img_ProfilePic.ClientID + "').src='" + "http://www.site.com/default.jpg" + "');",
true);
}
谢谢,
贝鲁兹
最佳答案
在浪费了几个小时才发现user554134提到的错误之后,我想出了以下使用jQuery的解决方案(以及asyncfileupload控件)。
首先获得
已修复错误的AjaxToolkit,
每个用户554134的链接。
添加一些jQuery隐藏/显示图像。
$(document).ready(function () {
$("#imgConfirmation").hide();
});
要记住的关键点是AsyncFileUpload控件利用了iframe,因此在调用“ show”函数时,需要让jquery访问该帧的父级。例如:
function showImage(imagePath) {
$('#imgConfirmation', window.parent.document).attr("src", imagePath);
$('#imgConfirmation', window.parent.document).show();
}
在您的UploadedComplete事件中,保存文件后,注册
客户端脚本挂钩到js函数。例如,
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "showImage", "showImage('" + myLink + "');", true);