我怎么能得到标签在ItemTemplate与c#背后的代码

本文关键字:背后 代码 ItemTemplate 怎么能 标签 | 更新日期: 2023-09-27 18:08:15

我有一个标签,在Itemtemplate中,我想获得标签的值,但是就是无法控制标签,谁来帮帮我?谢谢你

aspx代码:

<asp:TemplateField HeaderText="工號" SortExpression="BS_ID"> <ItemTemplate> <asp:Label ID="lblBSID" runat="server" Text='<%# Eval("BS_ID") %>' /> </ItemTemplate> <EditItemTemplate> <asp:Textbox ID="tbBS_ID_edit" runat="server" Text='<%# Eval("BS_ID") %>' /> </EditItemTemplate> <FooterTemplate> <asp:TextBox ID="BS_ID_tb" Text="SK" MaxLength="7" runat="server" /> </FooterTemplate> </asp:TemplateField>代码

//string lb_BS_ID = ((Label)GridView1.FindControl("lblBSID")).Text; //this._userID = lb_BS_ID;

  • 和我也尝试
  • //string lb_BS_ID = ((Label)GridView1.Rows[0].FindControl("lblBSID")).Text; //this._userID = lb_BS_ID;

  • //string lb_BS_ID =((Label)GridView1.Rows[e.RowIndex].Cells[0]FindControl("lblBSID")).Text; //this._userID = lb_BS_ID;

    但是这些都不适合我,请帮助我><</p>

    我怎么能得到标签在ItemTemplate与c#背后的代码

    string lb_BS_ID = ((Label)GridView1.FindControl("lblBSID")).Text;

    试试这个。:

     Lable label = (Label)GridView1.Rows[e.RowIndex].FindControl("lblBSID");
     string value = label.Text;
    

    注意:如果你只需要在第一行找到标签的值,那么使用Rows[0]等代替e.RowIndex。

    使用gridview的"OnRowUpdating"事件更新记录;在使用代码1、2和3时,确保您的网格绑定到一些数据。

    你不能访问任何控件,直到你的网格被绑定到一些数据

        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
                {
                    int trackingno = (int)GridView1.DataKeys[e.RowIndex].Value;
                    Label trackingno = (Label)GridView1.Rows[e.RowIndex].FindControl("yourLabelControlID");
    //perform your update function
        }
    

    对于其他操作,可以使用"OnRowDataBound"

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                    DropDownList ddeditpickuprider = (DropDownList)e.Row.FindControl("yourDropdownControlID");
    }