グリッドビューをExcelに書き出す際にリテラルコントロールのテキスト値を取得するにはどうしたらうまくいかないのですか?C#Cell LiteralControl Get Text値
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
何が起こっているのですか?nullとしてリテラルコントロールを取得していますか?またはTextプロパティが空の文字列ですか? cell.Controls [0]はリテラルコントロールですか?タイプを調べて確認しましたか? –