Ala*_*Ali 37 vb.net asp.net file-upload
我有一个FileUpload控件(它不在里面UpdatePanel),它的hasFile属性总是如此False.
<asp:FileUpload ID="certificateUploader" runat="server"/>
Run Code Online (Sandbox Code Playgroud)
任何想法?
小智 52
为UpdatePanel添加触发器
<Triggers>
<asp:PostBackTrigger ControlID="btnCertificateUpload" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)
这将在单击上载按钮时强制回发.
同时将下面的行添加到Page_Load
Page.Form.Attributes.Add("enctype", "multipart/form-data");
Run Code Online (Sandbox Code Playgroud)
小智 10
我还使用FileUpload控件上传了一个文件,但HasFile属性返回false.如果你上传一个空文件,那么FileUpload.HasFile也是假的.在这种情况下,向要上载的文件添加一些文本将使Hasfile属性返回true.
补充@dbFrameIT支持给出的示例:
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="UploadButton" runat="server" Text="Upload Selected File" OnClick="UploadButton_Click" />
<asp:Label ID="UploadDetails" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="UploadButton" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
你的代码背后(c#)
protected void UploadButton_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)
{
UploadDetails.Text = "Please first select a file to upload...";
}
else
{
string FileName = FileUpload1.FileName;
UploadDetails.Text = string.Format(
@"Uploaded file: {0}<br />
File size (in bytes): {1:N0}<br />
Content-type: {2}",
FileName,
FileUpload1.FileBytes.Length,
FileUpload1.PostedFile.ContentType);
// Save the file
string filePath = Server.MapPath("~/Brochures/" + FileUpload1.FileName);
FileUpload1.SaveAs(filePath);
}
}
Run Code Online (Sandbox Code Playgroud)