代码如下:
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 

解决方案 »

  1.   

    把楼主的那个换成这个试下吧:if(fUpload.PostedFile.FileName != null)
      

  2.   


    今天才回来
    首先谢谢您的关注您的建议不错
    可以达到要求
    但是我更想问下:FileUpload1.HasFile到底是如何取值的?有人用过HasFile这个属性没 ?
      

  3.   

    可能是<form>标签里的属性有问题~请看:
    http://blog.csdn.net/IsMe/archive/2008/03/27/2223920.aspx
      

  4.   

    你用了ajax吗? UpdatePanel下使用FileUpload可能不兼容哦!
     另外判断 是否选中 最好用HasFile属性(考虑到0字节的文件),FileName属性好像只是检查是否选中了文件(不检查文件字节是否为0)。
      

  5.   


     在 page_load 里加一句
     if (!IsPostback) return; 
      

  6.   

    用的是 HTML的 FILE 控件吧, 需要手工在 FORM 上加个 属性, 叫  multipart-....忘了
    用 WEBCONTROL 的UPLOAD控件试试, WEB CONTROL 控件会自动加那个属性
      

  7.   

    谢谢楼上各位朋友的关注和帮助
    这是上周五时遇到的一个问题今早回来后
    到msdn上copy个例子测试下发现正常
    紧接着
    再测试自己的
    发现也正常了
    呵呵 莫名其妙-_-!不过通过各位朋友的建议还是学到东西了
    谢谢啊
    人人有份:)
      

  8.   

    你猜对了 是 UpdatePanel下使用FileUpload 不兼容