我在网页上使用 ASP 文件上传控件,我希望它隐藏,直到用户想要上传文件,所以更新面板的可见属性默认为 false。点击提示上传文件的按钮时,显示上传控件,可以选择文件,但是点击上传按钮时,报错:上传控件的PostedFile属性显示“Object reference not set to an instance对象”,即使文件路径在控制中可见。如果从不隐藏上传控件,则此方法有效。这是来源:
<asp:UpdatePanel ID="updUploadTestDoc" runat="server" Visible="false">
<ContentTemplate>
<asp:Panel ID="pnlUploadTestDoc" runat="server" GroupingText="Upload Test
Document">
<asp:Label ID="Label3" runat="server" SkinID="FieldLabel" Text="Select File to Upload : " />  
<asp:FileUpload ID="uplUploadFile" runat="server" />
<br />
<br />
<asp:Button ID="btnUpload" runat="server" text="Upload" SkinID="ConfirmButton" />  
<asp:Button ID="btnCancelUpload" runat="server" Text="Cancel" SkinID="CancelButton" />
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
</asp:UpdatePanel>
我尝试隐藏/显示 updUploadTestDoc、pnlUploadTestDoc 和上传控件本身,结果都相同。出现错误的VB代码为:strAttachmentPath = pUploadControl.PostedFile.FileName
我正在使用 VS 2010,框架 4.0。这是我在这里的第一篇文章,所以如果需要更多信息,请告诉我。谢谢。