zoukankan      html  css  js  c++  java
  • updatepanel中不能使用fileupload的弥补方法

    直接使用FileUpload,服务端是无法找到上传文件的。前面有篇文章介绍了解决方法,但是那种解决方法就使得UpdatePanel变得没有任何意义,也失去了使用它的初衷,先可以采用以下办法。

    1:新建主页面Default.aspx
          在适当的位置,放置一个上传附件的UpdatePanel区域

     <atlas:UpdatePanel ID="up_attachment" Mode="Conditional" runat="server">
                    
    <ContentTemplate>
                            
    <asp:Image ID="img_photo" runat="server" Height="64" ImageUrl="~/images/anonymous.gif"
                                Width
    ="64" /><br />
                            
    <input type="hidden" runat="server" id="hi_src" name="hi_src" value="~/images/anonymous.gif" />
                       
    <iframe id="file" name="file" src="attachment.aspx"></iframe>
                    
    </ContentTemplate>
    </atlas:UpdatePanel>

     2:新建上传文件的页面attachment.aspx,然后放上FileUpload控件

    <div>
        
    <asp:FileUpload ID="FileUpload1" runat="server" />
              
    <asp:Button ID="Button1" runat="server" Text="OK" OnClick="Button1_Click" />
    </div>

    3:在attachment.aspx里面,上传文件之后调用主页面的js:

    protected void Button1_Click(object sender, EventArgs e)
    {
            
    string fileFullPath = fu_photo.PostedFile.FileName;
            
    string fileName = fileFullPath.Substring(fileFullPath.LastIndexOf('\\'+ 1);
            
    string fileSavePath = "../Photos/" + fileName;
            fu_photo.PostedFile.SaveAs(Server.MapPath(fileSavePath));
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), 
    "photoscript""window.top.callBack('" + fileSavePath + "');"true);
      }

    4:Default.aspx主页面里面增加这个函数,处理返回值
    用js改变图片路径为新上传的路径,然后服务器端获的隐藏字段的值,即为新上传图片路径
    上传页面时不能获得js更改后的image控件的属性值,所以添加一个隐藏字段。。。

     <script type="text/javascript">
         
    function callBack(fileName)
        
    {
            document.getElementById(
    '<%=img_photo.ClientID %>').src=fileName;
            document.getElementById(
    '<%=hi_src.ClientID %>').value=fileName;
         }

    </script>
  • 相关阅读:
    hdu 2485 Destroying the bus stations 迭代加深搜索
    hdu 2487 Ugly Windows 模拟
    hdu 2492 Ping pong 线段树
    hdu 1059 Dividing 多重背包
    hdu 3315 My Brute 费用流,费用最小且代价最小
    第四天 下载网络图片显示
    第三天 单元测试和数据库操作
    第二天 布局文件
    第一天 安卓简介
    Android 获取存储空间
  • 原文地址:https://www.cnblogs.com/lavenderzh/p/1491728.html
Copyright © 2011-2022 走看看