PicUpload  up1 = this.FindControl["up1"];
要找到这个控件

解决方案 »

  1.   

    PicUpload  up1 = this.FindControl("up1");
    还是不行,出错:未将对象引用设置到对象的实例
      

  2.   

    ASCX名词空间.ASCX的类 up1 = (ASCX名词空间.ASCX的类)this.FindControl["up1"];FindControl["up1"];这里的up1要写成你控件在你页面上的ID
      

  3.   

    ASP.NET 2.0么? 是的话不要写 protected PicUpload  up1
    ASPNET2对页面上的元素是推理绑定,既然你的东西不是动态生成的,那你的up1就不用再声明,如果你声名了,就会顶替掉页面上的up1,而这时候你的up1又没有被真正加载。我不知道你这句string strPicPath = up1.picPath.ToString();
    是在什么地方出现的。 picPath又是怎么作的。我估计你的picPath是你的一个 string变量吧?
    那你上边那巷代码执行的时候该变量一定是空的。
    应该作成个属性,属性的实现从UC内部的某个控件里GET出来。(这要保证在UC初始化之后进行)
      

  4.   

    原因很简单 UC中的控件是有VIEWSTATE和REQUEST.VALUECOLL的
    而你的变量是每次POSTBACK都丢失了的