strUserCode=e.Item.Cells[0].Text;
改成:
strUserCode=e.Item.Cells[0].Controls[0].Text;
试试看。

解决方案 »

  1.   


    strUserCode=e.Item.Cells[0].Controls[0].Text;错误提示:system.web.ui.control 并不包含对"Text"的定义
      

  2.   

    你取e.Item.etemIndex看看有没有值。
      

  3.   

    e.Item.itemIndex 有值 等于当前行数
      

  4.   

    dgAdmin.items[e.Item.itemindex].Cells[0].Text
      

  5.   

    我的aspx文件是这样写的:<asp:datagrid id="dgAdmin" runat="server" >
    <Columns>
    <asp:TemplateColumn>
    <HeaderTemplate><b>工 号</b></HeaderTemplate>
    <ItemTemplate>
    <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "UserCode").ToString().Trim() %>' runat="server" ID="labUserCode"/>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox Text='<%# DataBinder.Eval(Container.DataItem, "UserCode").ToString().Trim() %>' Width="50" runat="server" ID="tbUserCode" />
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
    </Columns>
    </asp:datagrid>
      

  6.   

    你的第一列是怎样绑定的?
    如果你的列模板,帮定TextBox控件
    可以这样
    strUserCode = ((TextBox)e.Item.FindControl("id")).Text;
      

  7.   

    用txtBox mytxtBox=new txtBox();
      mytxtBox=e.Item.Cells[0].Control(0);
      strUserCode=mytxtBox.Text;
      

  8.   

    try:
    strUserCode=((TextBox)e.Item.Cells[0].Controls[0]).Text;
      

  9.   

    奇怪,我一直这么用的都没问题呀
    唯一的区别是我使用vb,
    strUserCode=e.Item.Cells[0].Text里的中括号换成小括号,
    是不是因为你使用的String,而它返回的类型跟String有区别,需要转换一下呢(我没用过C#,乱猜的)
      

  10.   

    strUserCode = ((Label)e.Item.FindControls("abUserCode")).Text;