c#单元格文本控件获取文本值

本文关键字:取文本 获取 控件 单元格 文本 | 更新日期: 2023-09-27 18:03:48

为什么这不能为导出gridview到Excel上的文字控件的文本值工作?

cell.Text = (cell.Controls[0] as LiteralControl).Text;

编辑:(完整代码)

                    if (cell.HasControls())
                {
                    switch (cell.Controls[0].GetType().Name)
                    {
                        case "HyperLink":
                    cell.Text = (cell.Controls[0] as HyperLink).Text;
                    cell.Controls.Clear();
                    cell.ForeColor = System.Drawing.ColorTranslator.FromHtml("#000000");
                    break;
                        case "LinkButton":
                    cell.Text = (cell.Controls[0] as LinkButton).Text;
                    cell.Controls.Clear();
                    cell.ForeColor = System.Drawing.ColorTranslator.FromHtml("#000000");
                    break;
                        case "LiteralControl":
                    cell.Text = (cell.Controls[0] as LiteralControl).Text;
                    cell.Controls.Clear();
                    cell.ForeColor = System.Drawing.ColorTranslator.FromHtml("#000000");
                    break;
                    }
                    //cell.Text = cell.Controls[0].GetType().Name;

                }

c#单元格文本控件获取文本值

Net在gridview模板字段中默认添加了LiteralControl,因为空格或任何原因,所以你指的是那个控件而不是你的,尝试使用

cell.Controls[1] 

代替

cell.Controls[0] 

对于LiteralControl。

如果可能的话,还可以为控件指定ID并使用这些ID,在这种情况下,引用不正确元素的问题将不会出现,因为您将使用其特定ID引用控件。