为何FileUpload.HasFile始终为false
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class upFile_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
TextBox1.Text = FileUpload1.FileName;
String path = Server.MapPath("~/upfile/");
Label1.Text = path;
}
else
Label1.Text = FileUpload1.HasFile.ToString();
}
}
if语句通不过
fileupload1.hasfile始终为false
测试环境vs2005 虚拟机xp sp2
------解决方案--------------------
把楼主的那个换成这个试下吧:if(fUpload.PostedFile.FileName != null)
------解决方案--------------------
帮顶~~没遇见过这种情况。。。。
------解决方案--------------------可能是<form>标签里的属性有问题~
请看:
http://blog.csdn.net/IsMe/archive/2008/03/27/2223920.aspx
------解决方案--------------------
你用了ajax吗? UpdatePanel下使用FileUpload可能不兼容哦!
另外判断 是否选中 最好用HasFile属性(考虑到0字节的文件),FileName属性好像只是检查是否选中了文件(不检查文件字节是否为0)。
------解决方案--------------------
在 page_load 里加一句
if (!IsPostback) return;
------解决方案--------------------调试看看FileName是否为空
------解决方案--------------------用的是 HTML的 FILE 控件吧, 需要手工在 FORM 上加个 属性, 叫 multipart-....忘了
用 WEBCONTROL 的UPLOAD控件试试, WEB CONTROL 控件会自动加那个属性
------解决方案--------------------顶