我在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的情况下执行此操作时,它可以正常工作。
评论/帮助表示感谢。
答案 0 :(得分:6)
ASP.NET AJAX和异步回发不支持FileUpload控件。由于文件上传的工作方式(多部分表单数据),它们需要完整的回发。
以下问题应该有用的答案:FileUpload control inside an UpdatePanel without refreshing the whole page?