web页里有一个按钮和一个显示标签  
private void Button1_Click(object sender, System.EventArgs e)  
      {  
         this.Label1.Text=Bbs2.FileName;  
      }  
赋给一个Label1控件看看上传的文件名....当我上传图片时..图片可以上传成但是在Button1_Click时Bbs2.FileName;取不到自定义控件里的.文件名  
====================================== 
====================================== 
public class bbs : WebControl, INamingContainer  
   {  
        
        
        
      public Button mybutton;  
      public HtmlInputFile UploadFile;  
      public Label Label1;  
      public bbs()  
      {  
         this.EnsureChildControls();  
       
      }  
        
      private void mybutton_Click(object sender, System.EventArgs e)  
      {  
     
         if(UploadFile.PostedFile.FileName.Trim()!="")  
         {  
           
            //上传文件  
             extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();  
             fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();  
            string path = mydirectory + "/UploadFile/" + fileName + extension;  
                  UploadFile.PostedFile.SaveAs(path);  
         }  
    
      }  
      protected void myScript(string java)  
      {  
         Page.RegisterStartupScript("fsf","<script language=javascript>alert('"+java+"');</script>");        }        protected override void CreateChildControls()   
      {  
         mybutton=new Button();  
         UploadFile=new HtmlInputFile();  
         Label1=new Label();  
         mybutton.Text="提交";  
      
         this.Controls.Add(UploadFile);  
         this.Controls.Add(mybutton);  
         this.Controls.Add(new LiteralControl("<p>"));  
         this.Controls.Add(Label1);  
         this.Controls.Add(new LiteralControl("</p>"));  
         mybutton.Click+=new EventHandler(mybutton_Click);  
     
      }  
      //----------------------------  
      protected int filelength;  
      protected string fileName;  
      protected string mydirectory;  
      protected string extension;  
      [Bindable(true),  
      Category("Appearance"),  
      DefaultValue("")]  
      [  
      DescriptionAttribute("文件大小")  
      ]  
      public int FileLength  
      {  
         set{filelength=value;}  
         get{return filelength;}  
      }  
    
      [  
      DescriptionAttribute("图片名字")  
      ]  
      public string FileName  
      {  
         set{fileName=value;}  
         get{return fileName;}  
      }  
    
      [  
      DescriptionAttribute("文件路径")  
      ]  
      public string MyDirectory  
      {  
         get{return mydirectory;}  
         set{mydirectory=value;}  
      }  
    
      [  
      DescriptionAttribute("图片的扩展名")  
      ]  
      public string Extension  
      {  
     
         get{return extension;}  
         set{extension=value;}  
      }  

解决方案 »

  1.   

    看看这个有没有用:
    http://blog.csdn.net/kgdiwss/archive/2005/06/23/400995.aspx
      

  2.   

    UploadFile.PostedFile.SaveAs(path);  一句下面增加://赋值
    Label1.Text = fileName;
      

  3.   

    好像不是ISPOSTBACK的问题,取不到自定义控件的名是正常的,因为楼主好像没有哪句话让文件名显示啊!
      

  4.   

    UploadFile.PostedFile.SaveAs(path);  一句下面增加://赋值
    Label1.Text = fileName;
    -------------------------------------------------------
    up
      

  5.   

    你的mybutton_Click与Button1_Click能同时都触发么?先后问题?注意,HtmlInputFile是不能保留状态的