【问题标题】:ASP.NET get text from Gridviewrow cell with findControlASP.NET 使用 findControl 从 Gridviewrow 单元格获取文本
【发布时间】:2013-08-04 09:19:46
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

    row.FindControl("columnName")

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

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

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

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

    row.Cells[i].Controls[1]

    其中i 是项目的从 0 开始的索引,从左侧开始。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2021-07-02
        • 1970-01-01
        • 1970-01-01
        • 2011-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多