Label lbl = (Label )this.gvSelect.FindControl("Num");
int a =Convert.ToInt32(lbl.text);
---------------------------------
未将对象引用设置到对象的实例。

解决方案 »

  1.   

    lbl.Text
    大写
      

  2.   

    顺便说一下   我写在  rtProduct_ItemCommand里 有关系吗?
      

  3.   

    貌似不是大小写问题,是压根没找到Label的问题,如果是大小写顶多报个Label不含有text属性,他这报的是未将对象引用设置到对象的实例,说明压根没找到Label。你确定你gridview里面的Label叫Num?
      

  4.   

    [Quote=引用 7 楼 ziyouli 的回复:]貌似不是大小写问题,是压根没找到Label的问题,如果是大小写顶多报个Label不含有text属性,他这报的是未将对象引用设置到对象的实例,说明压根没找到Label。你确定你gridview里面的Label叫Num?
    [/   <asp:GridView ID="gvSelect" runat="server" AutoGenerateColumns="False" 
                                       DataKeyNames="Pro_Id" onrowdeleting="gvSelect_RowDeleting" 
                                       onrowdatabound="gvSelect_RowDataBound">
                                       <Columns>
                                           <asp:BoundField DataField="Pro_Id" HeaderText="产品编号" InsertVisible="False" 
                                               ReadOnly="True" SortExpression="Pro_Id" />
                                           <asp:BoundField DataField="Pro_Name" HeaderText="已点菜单" 
                                               SortExpression="Pro_Name" />
                                           <asp:BoundField DataField="Pro_Price" HeaderText="售价" 
                                               SortExpression="Pro_Price" DataFormatString="{0:f2}"/>
                                            <asp:TemplateField HeaderText="数量">
                                            <ItemTemplate>
                                                <asp:Label ID="Num" runat="server" Text="1"></asp:Label>
                                            </ItemTemplate>Quote]
      

  5.   

    在模板里这样用,无法获得Label
      

  6.   


    Control lbl = this.gridview1.Items[this.gridview1.SelectedIndex].FindControl("Label1");
    Label lbl1 = (Label)lbl;
      

  7.   

    gridvie微软都没怎么去推他了,为啥还用这个,不用datagridview来取代?
      

  8.   

    不好意思,看成DataGrid了,那就这样
    GridView1.Columns[i].FindControl("CheckBox1"); 
      

  9.   

    或者
    Control lbl = this.GridView1.Rows[this.GridView1.SelectedIndex].FindControl("Label1");  
    Label lbl1 = (Label)lbl;  
      

  10.   

    在RowDeleting事件中string Num = ((Label)(gvSelect.Rows[e.RowIndex].Cells[3].FindControl("Num"))).Text.ToString().Trim();我看你打前台代码好像是在第3列
      

  11.   

     for (int i = 0; i < GridView1.Rows.Count; i++)
                {
                    string lbl1= ((Label)this.GridView1.Rows[i].FindControl("Label1")).Text.Trim();自己看想取第几行的Label值
      

  12.   

    Label lbl = (Label )this.gvSelect.FindControl("Num");
    if(lbl !=null)
    {
    int a =Convert.ToInt32(lbl.text);
    }
      

  13.   

    GridView1.Rows[this.GridView1.SelectedIndex].FindControl("Label1");`````