如题, TextBox box = DetailsView1.FindControl("lblUserName") as TextBox;TextBox box = (TextBox)DetailsView1.Rows[2].Cells[1].Controls[0];问什么这两句代码访问不了?前面一句话错误提示是《未将对象引用设置到对象的实例》。
后一句的是《无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox“》。
求教!!!

解决方案 »

  1.   

    前面一句报销是因为没有找到控件 后面的明显,Control[0]的控件是LiteralControl类型,而不是TextBox的
      

  2.   

    Literal l= (Literal)DetailsView1.Rows[2].Cells[1].Controls[0];
    protected void DetailsView1_PreRender(object sender, EventArgs e)   
      {   
      if (this.IsPostBack)   
      {   
      if (DetailsView1.CurrentMode == DetailsViewMode.Edit)   
      {   
      TextBox t= DetailsView1.FindControl("txt") as TextBox ;   
      }   
      }   
      }   
    protected void DetailsView1_DataBound(object sender, EventArgs e)  
      {  
      string s= (DetailsView1.FindControl("lbl") as Label).Text;  
      }