弹出子窗口,上传图片,在父窗口显示刚上传的图片,asp.net如何实现 请问各路高手,帮帮忙,现在急用,思考了好几天了,都实现不了。上传图片我会。如题就不会了。效果如:http://www.happylogistics.cn/chinese/rczx/zxzp.asp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在子窗口中,将上传图片的相对路径存储在session中,子窗口利用js,关闭的同时刷新父窗口,父窗口获取session并显示图片 在上传页面上传成功后,服务器端输入 javascript 代码,将父窗口中的 img 元素的图像地址,指向新上传的文件。 那你就用updatepanel,把需要无刷新的装进去 主页面 function changeImg(id) { //id是上传后要显示的img name var wh=judgeBrowserVersion(500,500);//自定义的函数,可以不用 var k=showModalDialog("selectImg.aspx?ID="+id+"&Index=1&"+(new Date()).getTime()+"","",'scroll:0;status:0;help:1;resizable:1;dialogWidth:'+wh.w+';dialogHeight:'+wh.h+';'); if(k!=null) { document.getElementsByName(id)[0].src=k;//k就是上传页面返回的savepath } }上传图片页面: if (FileUpload1.PostedFile.FileName.Trim() != string.Empty) { Random Rd = new Random(); string savename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Date.ToShortDateString() + Rd.Next(10001, 99999).ToString(); string fileName = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf(".")); savepath = Server.MapPath("\\img\\" + savename + fileName); FileUpload1.PostedFile.SaveAs(savepath); savepath = @"~\img\" + savename + fileName; }//上传图片,savepath 是保存的图片路径名称,存入数据库。可以改成 savepath = @"../img/" + savename + fileName;这样读取的时候就不用转换了。 //保存文件成功后,把savepath返回给主窗口 Response.Write("<script>returnValue='"+savepath.Replace("\\","/").Replace("~","../..")+"';window.close()</script>"); var path = "";//刚上传的图片路径parent.document.getElementById("img1").src = path; 通过jquery弹出上传文件页面。在页面上传文件。在父页面绑定数据。 <p><asp:ImageButton ID="btn_addfile" runat="server" Text="新增" ImageUrl="../a.gif" OnClientClick="OpenWindow1('modify.aspx?operate='+($('#hd_table').val())+'&id='+($('#hd_id').val()), 600,520);return false;"/> </p> <a id="editperson" href="" onclick="OpenWindow2('Modify.aspx?id='+($('#editp').attr('href'))+'&operate='+($('#hd_table').val())+'&id='+($('#hd_id').val()), 600,520);return false;"></a> <IFRAME id="perlist_frame" frameBorder="0" scrolling="auto" src="UserJGModifyPerList.aspx?jid=<%=hd_id.Value %>" width="420" height="120"></IFRAME> <asp:HiddenField ID="hd_Count" runat="server" />参考 多层架构中的接口层(IDAL)的作用是什么? 请教几个Forms验证的问题 一个很奇怪的问题,求解决(gridview的自带编辑与验证控件的问题) 为TREEVIEW控件加入ondblclick事件 高分求教这个编码问题。 如何用js实现客户端的DataGrid里面的行的上下移动? 谁有petshop 3.0中关于模式的教程? 怎么做考勤表啊?? 小问题,好烦躁啊,怎么就不能刷新呢??? 表单的处理 关于字符串的问iti 考试系统中填空题怎么将下划线改为textBox
function changeImg(id)
{
//id是上传后要显示的img name
var wh=judgeBrowserVersion(500,500);//自定义的函数,可以不用
var k=showModalDialog("selectImg.aspx?ID="+id+"&Index=1&"+(new Date()).getTime()+"","",'scroll:0;status:0;help:1;resizable:1;dialogWidth:'+wh.w+';dialogHeight:'+wh.h+';');
if(k!=null)
{
document.getElementsByName(id)[0].src=k;//k就是上传页面返回的savepath
}
}
上传图片页面: if (FileUpload1.PostedFile.FileName.Trim() != string.Empty)
{
Random Rd = new Random();
string savename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Date.ToShortDateString() + Rd.Next(10001, 99999).ToString();
string fileName = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("."));
savepath = Server.MapPath("\\img\\" + savename + fileName);
FileUpload1.PostedFile.SaveAs(savepath);
savepath = @"~\img\" + savename + fileName;
}
//上传图片,savepath 是保存的图片路径名称,存入数据库。可以改成 savepath = @"../img/" + savename + fileName;这样读取的时候就不用转换了。
//保存文件成功后,把savepath返回给主窗口
Response.Write("<script>returnValue='"+savepath.Replace("\\","/").Replace("~","../..")+"';window.close()</script>");
parent.document.getElementById("img1").src = path;
<p><asp:ImageButton ID="btn_addfile" runat="server" Text="新增" ImageUrl="../a.gif" OnClientClick="OpenWindow1('modify.aspx?operate='+($('#hd_table').val())+'&id='+($('#hd_id').val()), 600,520);return false;"/>
</p>
<a id="editperson" href="" onclick="OpenWindow2('Modify.aspx?id='+($('#editp').attr('href'))+'&operate='+($('#hd_table').val())+'&id='+($('#hd_id').val()), 600,520);return false;"></a>
<IFRAME id="perlist_frame" frameBorder="0" scrolling="auto" src="UserJGModifyPerList.aspx?jid=<%=hd_id.Value %>" width="420" height="120"></IFRAME>
<asp:HiddenField ID="hd_Count" runat="server" />
参考