FileUpload控制回发问题

时间:2010-03-02 06:12:18

标签: asp.net file-upload updatepanel postback

我在UpdatePanel内的aspx页面上有一个FileUpload控件,点击一个按钮我要设置一个带有所选文件文件名的标签。

这是我的代码:

ASPX PAGE:

<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:FileUpload runat="server" ID="fuSimple"></asp:FileUpload>
            <asp:Button runat="server" Text="Button" ID="btnPostback" 
                onclick="btnPostback_Click" />
            <br />
            <asp:Label ID="lblFileName" runat="server" Text="File Name: "></asp:Label>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

代码背后:

protected void btnPostback_Click(object sender, EventArgs e)
    {
        lblFileName.Text = "File Name: " + fuSimple.FileName;  
    }

每次按下按钮,我都会得到一个空字符串。我错过了什么?

此外,当我在没有UpdatePanel的情况下执行此操作时,它可以正常工作。

评论/帮助表示感谢。

1 个答案:

答案 0 :(得分:6)

ASP.NET AJAX和异步回发不支持FileUpload控件。由于文件上传的工作方式(多部分表单数据),它们需要完整的回发。

以下问题应该有用的答案:FileUpload control inside an UpdatePanel without refreshing the whole page?