【发布时间】:2013-05-13 00:19:49
【问题描述】:
我可以发布几个指向人们提出相同问题的文章的链接,不一定在 Stack Overflow 上,但我不知道为什么这对我不起作用。
我的代码是:
int rowIndex = ((GridViewRow)(((CheckBox)sender).Parent.Parent)).RowIndex;
Label lbl = new Label();
lbl.ID = "test" + testing.ToString();
lbl.Text = gvBatters.Rows[rowIndex].Cells[1].Value;
upCompare.ContentTemplateContainer.Controls.Add(lbl);
testing++;
我的问题出在这一行:
lbl.Text = gvBatters.Rows[rowIndex].Cells[1].Value;
问题是Value。它不喜欢这样,说我缺少对System.Web.UI.WebControls.TableCell 的程序集引用。我其实在用System.Web.UI.WebControls
当我尝试这样的行时:
lbl.Text = gvBatters.Rows[rowIndex].Cells[1].ToString();
它显示在我的更新面板中,标签文本为:
System.Web.UI.WebControls.DataControlFieldCell
我离得很近。我所有的谷歌搜索都说我应该有.value,但视觉工作室说不。
【问题讨论】:
-
我认为您需要一个单元格索引。 lbl.Text = gvBatters.Rows[rowIndex].Cells[cellIndex].Value;
-
没有看到有问题的网格视图,我会在有问题的行上放置一个断点并使用监视窗口导航该行,直到您看到所需的单元格值
-
for proverbio:我确实有单元格索引,我需要单元格 1。对于 fnostro:调试时,我选中搜索中的第一个复选框,我的行索引为 0,所以这是有效的。当我尝试引用单元格的值时,Visual Studio 不会让我编译
-
然后删除单元格引用和标签分配,这样您只需调用 gvBatters.Rows[rowIndex] 即可编译和运行。然后开始在监视窗口中使用行引用
-
完美运行。出于某种原因,我根本无法使用 .value,它不存在。其他搜索说 .FormattedValue 但也不存在。它想告诉我我错过了一个程序集参考,正如我原来的问题中所述,但那不可能
标签: asp.net gridview updatepanel tablecell