1

我认为简单的问题。我有一个gridviewrow,我希望能够将单元格中的文本放入页面上的文本框中。该行来自一个表,其中该列称为“标题”并且类型为 nvarchar(100)。我尝试过这样的事情,但它给了我一个空字符串;

      tBox.Text = ((TextBox)selectedRow.FindControl("Title")).ToString();

我知道我可以只使用单元格值,但我认为这会很有用。有任何想法吗?

谢谢

4

2 回答 2

0

这是正确的想法,只是有点偏离:

row.FindControl("columnName")

给你一个实际的对象。它返回的确切内容取决于 ASP 部分中指定的内容。可以是标签,可以是文本框,复选框...

拥有对象后,您可以像往常一样访问属性。在这种情况下,您可能需要该Text属性。

row.FindControl("...").Text

如果您更愿意使用位置索引,也可以使用以下方法:

row.Cells[i].Controls[1]

i从左侧开始,项目的基于 0 的索引在哪里。

于 2013-08-04T00:24:09.440 回答
0

我没有得到你选择索引的方式,但在任何情况下,首先你必须将此文本框放入文本框变量,然后将其中的文本传递给你页面的文本框,如下所示:

TextBox tb = (TextBox)selectedRow.FindControl("Title");
if(tb != null){
   tBox.Text = tb.Text;
}

selectedRow 也可以来自 gridview 行上的 for 循环,或者您可以通过 e.RowIndex 从编辑行或更新绑定的行或行数据等功能中获取它

于 2013-08-04T01:19:46.410 回答