AJAX下FileUpload上傳文件的方法

使用控件
AJaxFileUploadHelper
使用MasterPage時:
Default.aspx
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>
      <asp:Panel ID="pnl" runat="server" Visible="false">
                <iframe id="file" name="file" src="Default2.aspx?type=<% =ViewState["ID"] %>&btn=<% =btnlist.ClientID %>" width="100%" height="200"></iframe>
                </asp:Panel>              
                <asp:Button ID="btnlist" runat="server" OnClick="btnlist_Click" Text="show" />
    
    </ContentTemplate>
  </asp:UpdatePanel>
</asp:Content>
C#
protected void Button1_Click(object sender, EventArgs e)
    {
        ViewState["ID"] = "ddd";
        pnl.Visible = true;
    }
    protected void btnlist_Click(object sender, EventArgs e)
    {
        pnl.Visible = false;
    }


Default2.aspx
<form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <jeffz:AjaxFileUploadHelper ID="AjaxFileUploadHelper1" runat="server" />

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>
      <%= DateTime.Now %>
                &nbsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="Button1" runat="server" Text="Upload" OnClick="Button1_Click" /><br />
    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>    
                <asp:Button
ID="Button2" runat="server" OnClick="Button2_Click" Text="Hidden" />
    </ContentTemplate>
  </asp:UpdatePanel>
    </form>

C#

protected void Button1_Click(object sender, EventArgs e)
 {

        this.Label1.Text = Request.QueryString["type"];
        this.Label1.Text += this.FileUpload1.PostedFile.ContentLength + " bytes";// +ViewState["list"].ToString();
        if (this.TextBox1.Text.ToString() == "")
            Response.Write("<script>alert('dafd');</script>");        
 }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write("<script>var obj=parent.parent.parent.document.getElementById('"+Request.QueryString["btn"].ToString()+"');obj.click();</script>");
    }


不使用MasterPage頁的方法

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    &nbsp;&nbsp;<%= DateTime.Now %>
        <hr />
    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>
      <asp:Panel ID="pnl" runat="server" Visible="false">
                <iframe id="file" name="file" src="Default2.aspx?type=<% =ViewState["ID"] %>" width="100%" height="200"></iframe>
                </asp:Panel>              
                <asp:Button ID="btnlist" runat="server" OnClick="btnlist_Click" Text="show" />    
    </ContentTemplate>
  </asp:UpdatePanel>        
    </form>
C#
protected void Button1_Click(object sender, EventArgs e)
    {
        ViewState["ID"] = "ddd";
        pnl.Visible = true;
    }
    protected void btnlist_Click(object sender, EventArgs e)
    {
        pnl.Visible = false;
    }

posted @ 2008-04-02 15:51  马建康  阅读(1627)  评论(0)    收藏  举报