这是怎么得到一个gridview到Excel导出的literalcontrol的文本值?C#单元格LiteralControl获取文本值
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;
}
我运行了导出并添加了单元格中的控件类型。超链接的工作,我能够得到的文字和去除控制。具有LiteralControls的单元格无法读取控件文本。 – PigsIncorporated
添加更多适当的标签。看起来像asp.net问题 – Versatile
发生了什么是你把字面控制为空或文本属性是一个空字符串?你确定cell.Controls [0]是文字控制吗?你是否检查过它的类型? –