Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 594
  • Last Modified:

Casting a LiteralControl to a Table

Hi All,

I have created a normal HTML table on the fly and I have added it to a panel using Add(new LiteralControl(sHTML))

The thing is now I want to process the data in the table, therefore I would like to somehow cast the literal control to a table.

I have tried doing a cast but it does not work.
I have tried creating a table using Table, tableRow, TableCell but once the table is added, it reads out as a LiteralCOntrol again.

I would like to avoid having to erite a parser for the text of the literal control and just be able to put the data into a table structure whcih would be then accessible through my C# code...

Txs
Peter
0
Pete2003
Asked:
Pete2003
  • 5
  • 2
1 Solution
 
msdixonCommented:
by generating a string, instead of using an object, an option would be an HtmlTable control:
         HtmlTable tbl = new HtmlTable();
         tbl.InnerHtml = sHtml;
0
 
Pete2003Author Commented:
Txs for the reply ...

That was one of the 1st things I tried ...

It generates an error:
'HtmlTable' does not support the InnerHtml property.
0
 
msdixonCommented:
well, it doesn't look good. you'll have to either change your code to generate an HtmlTable control, or parse the sHTML variable and build the control that way. i would go with the first (changing your code to generate an HtmlTable object instead of a string).
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
msdixonCommented:
have you tried the Table control under the "Web Forms" tab?
0
 
Pete2003Author Commented:
The thing is that if you generate the table using the Table control or by yourself, once it's on the page it still is a LiteralControl so that wan't help ...
0
 
msdixonCommented:
an HmlTable control maybe, but if you enable viewstate (default), the web control table should work... i'll give it a try in a minute.
0
 
msdixonCommented:
this worked:

                  string id = "testTable";
                  Table t = new Table();
                  t.ID = id;
                  
                  for (int i = 0; i < 5; i++)
                  {
                        TableRow tr = new TableRow();
                        for (int j = 0; j < 10; j++)
                        {
                              TableCell cell = new TableCell();
                              cell.Text  = i.ToString() + ": " + j.ToString();
                              tr.Cells.Add(cell);
                        }
                        t.Rows.Add(tr);
                  }

                  Page.Controls.Add(t);

                  ((Table) Page.FindControl(id)).Rows[0].Cells[0].Text += "Test";
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now