如何从gridview templatefield获取标签控制值

时间:2012-06-05 19:42:22

标签: c# asp.net

我有一个gridview和sqldatasource。

我有一个模板字段列,在编辑项目模板的文本框下方,我有一个简单的标签。

有没有办法在ROW UPDATING事件中获取标签值?

我试过了:String llbl = ((Label)row.Cells[6].FindControl("label1")).Text; 嗯,我认为它不应该是cells[6],因为我想获得标签。

由于

4 个答案:

答案 0 :(得分:3)

我认为这就是你要找的东西:

DataRow row = ((DataRowView)e.Row.DataItem).Row;

Label Mylabel = (Label)e.Row.FindControl("lblName");

编辑:

好的,试试这个:

GridViewRow row = MyGrid.Rows[e.RowIndex];
Label MyLabel = (Label)row.FindControl("MyLabel");

答案 1 :(得分:0)

您可以使用DataGridItemEventArgs查找标签。以下是UpdateCommand的代码:

 private void grid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
          Label label1 = (Label) e.Item.FindControl("label1");
    }

答案 2 :(得分:0)

这在RowEditing中对我有用:

Label label1 = (Label)GridViewID.Rows[e.NewEditIndex].FindControl("label1");
string label1val = label1.Text;

我相信这就是你想要的RowUpdating:

Label label1 = (Label)GridViewID.Rows[e.RowIndex].FindControl("label1");
string label1val = label1.Text;

答案 3 :(得分:0)

试试这个 它总是适合我

string lbl =((Label)gvEmployee.Rows[rowNo].Cells[0].FindControl("lblEmpid")).Text;