在ASP.NET中发布GridView

本文关键字:GridView ASP NET | 更新日期: 2023-09-27 18:03:51

我只是想知道最后两行的区别

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
 if (GridView1.Rows[e.RowIndex].RowType == DataControlRowType.DataRow)
  {
   GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
   string lstnme = ((TextBox)row.Cells[2].FindControl("txtLstNme")).Text;

   string lstnme=((TextBox)row.Cells[2].Controls[0]).Text;
} 

在ASP.NET中发布GridView

没有区别,但我建议在分配文本值

之前检查控件是否为空。
string lstnme = string.Empty;
var control = ((TextBox)row.Cells[2].FindControl("txtLstNme"));
if ( control != null )
{
     lstnme = control.Text
}
  1. string lstnme = ((TextBox)row.Cells[2].FindControl("txtLstNme")).Text;基本上意味着它是在你的单元格中找到一个名称为txtLstNme的控件,然后返回文本框控件内的文本。

  2. string lstnme=((TextBox)row.Cells[2].Controls[0]).Text;这意味着lstnme将在单元格中的位置0保存控件文本。

主要区别在于第一个是在控件的列表集合中查找[特定文本框,但第二个是在位置0处获取控件的文本