【问题标题】:Getting values from templatefields gridview - C#从模板字段gridview获取值 - C#
【发布时间】:2011-07-26 07:39:31
【问题描述】:

我正在使用 gridview 来显示从数据库查询的表...

在这个网格视图中,我还添加了一个按钮字段和 3 个模板字段...

当我按下按钮字段时,从数据库中获取数据,但是 从模板字段插入的手动数据不是。。似乎获取了空值。

从 xml 文件中,我触发了以下事件:

OnRowCommand="GridView1_SelectedIndexChanged1"

并具有以下方法来捕获该事件:

protected void GridView1_SelectedIndexChanged1(object sender, GridViewCommandEventArgs e)
        {
            int x = Convert.ToInt32(e.CommandArgument);
            GridView1.SelectRow(x);

            GridViewRow row = GridView1.Rows[x];

            Response.Write(row.Cells[0].Text + "\t");
            Response.Write(row.Cells[1].Text + "\t");
            Response.Write(row.Cells[2].Text + "\t");
            Response.Write(row.Cells[3].Text + "\t");
            Response.Write(row.Cells[4].Text + "\t");
            Response.Write(row.Cells[5].Text + "\t");
            Response.Write(row.Cells[6].Text + "\t");
            Response.Write(row.Cells[7].Text + "\t");
            Response.Write(row.Cells[8].Text + "\t");  
           }

关于如何从该模板字段中获取值的任何想法?我是否需要捕获另一个事件而不是 GridViewCommandEventArgs?如果是这样,我应该从 xml 部分抛出什么事件?

谢谢,

【问题讨论】:

  • 请显示网格标记和您的 page_load 事件。

标签: c# gridview templatefield buttonfield


【解决方案1】:

您可以找到添加到该行的控件,然后使用 text 属性获取它的值。 类似于row.FindControl(<urIdgoeshere>)\\cast it to textBox的东西,然后使用.Text来获取它的值。

GridViewRow row = GridView1.Rows[x];

Response.Write((TextBox)row.FindControl('txtbox1')).Text;

【讨论】:

  • 我已经做了类似的事情,但它仍然无法正常工作:TextBox my = ((TextBox)row.FindControl("numTC")); Response.Write(my.Text);它返回一个空字符串...我认为,当我按下按钮字段时,页面会重新加载,并且在模板字段中输入的所有数据都被清除。也许问题在于,一旦编辑按钮按下时,所有模板字段都被清除,并且使用空模板字段触发事件?
  • 您的页面上启用了视图状态吗?您是否在 Page_Load 上重新绑定您的网格视图?
【解决方案2】:

我也是这样打的,我以前用过 ASP BoundField 的 Cells[] 代码。 现在我不得不切换到模板字段,因为我需要页脚中的按钮等。 我正在拔头发,我使用了 Ashley 建议的相同代码,我得到 System.NullReferenceException: Object reference not set to an instance of an object。

我在行命令事件中执行此操作。 3天以来一直这样:(

编辑: 我的问题的快速解决方案:我已经在页脚上创建了给定字段的 ID,但我没有给我的 ItemTemplate 和 ID,即我在那里唯一的东西是 似乎没有办法选择这些数据而不在后面的代码中给它某种 ID。我很笨,后来没有注意到这个简单的事实。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2015-06-08
    相关资源
    最近更新 更多