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;
}
Net在gridview模板字段中默认添加了LiteralControl,因为空格或任何原因,所以你指的是那个控件而不是你的,尝试使用
cell.Controls[1]
代替
cell.Controls[0]
对于LiteralControl。
如果可能的话,还可以为控件指定ID并使用这些ID,在这种情况下,引用不正确元素的问题将不会出现,因为您将使用其特定ID引用控件。