我已经使用了asp.net的文件上传控件但是我在保存时遇到空字符串。我的代码 -
<asp:FileUpload ID="fuProductLogo" runat="server" CssClass="file paddBottom5px" />
.cs代码是 -
if (fuProductLogo.PostedFile != null && fuProductLogo.PostedFile.ContentLength > 0)
{
...
}
但.PstedFile和.CountLength为零,但相同的代码在另一个页面中正常工作。请帮助。
答案 0 :(得分:1)
这里有几件事要检查:
enctype="application/x-www-form-urlencoded"
请务必在代码修改和检查后更新您的帖子。
答案 1 :(得分:0)
如果FileUpload位于UpdatePanel中,则会在每个ajax-postback上清除它。您可以在FileUpload控件周围使用多个UpdatePanel,并保留FileUpload。还要确保触发实际上传的按钮执行真正的回发,而不是asyncpostback。通过将按钮添加到其UpdatePanel的PostbackTrigger或将其从UpdatePanel中取出来执行此操作。
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox2" runat="server" />
<asp:Button ID="Submit" runat="server" Text="Submit" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Submit" />
</Triggers>
</asp:UpdatePanel>
你也可以使用Asp.net Ajax Toolkit中的AsyncFileUpload控件,它可以在UpdatePanel中运行,但要让它工作起来有点困难。