2010-10-18 35 views
1

我用asp.net的文件上传控制,但我得到空字符串,而saving.my代码 -越来越空路径,并同时上传图片上传在.NET

<asp:FileUpload ID="fuProductLogo" runat="server" CssClass="file paddBottom5px" /> 

的.cs代码是 -

if (fuProductLogo.PostedFile != null && fuProductLogo.PostedFile.ContentLength > 0) 
       { 
... 
} 

但.PstedFile和.CountLength即将为零,但相同的代码在另一个页面中正常工作。请帮助。

+0

条件是错误的。将正确的括号 – zod 2010-10-18 14:25:57

+0

是你的文件上载放置在一个更新面板? – Willem 2010-10-18 14:27:16

+0

@zod你能告诉我我在哪里放置括号错误 – ppp 2010-10-18 14:29:12

回答

0

如果FileUpload在UpdatePanel中,它将在每个ajax回发中清除。您可以在FileUpload控件周围使用多个UpdatePanel,并使FileUpload不在其中。还要确保触发实际上传的按钮确实可以回传,而不是异步回复。通过将按钮添加到其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工具包的AsyncFileUpload控制,它的工作原理的UpdatePanel内,但它是一个有点难以得到这个工作。

1

有几件事情要检查这里:

  • 为@williem说,从表单中删除的UpdatePanel如果你正在使用它
  • 形式标记添加enctype="application/x-www-form-urlencoded"

请记住在您的代码修改和检查后更新您的文章。

+0

整个页面在更新面板里面,我怎么能把外面?并且在我的aspx代码中没有表单标签。 – ppp 2010-10-18 14:35:11

+0

好吧,在上传表单时不能使用更新面板。 如果您使用母版页,您的表单标签将在那里 – 2010-10-18 14:46:16