Как получить innerHTML таблицы в С#

 HtmlTable baseCalendar = new HtmlTable();
 HtmlTableRow calendarRow=new HtmlTableRow();
 HtmlTableCell calendarCell = new HtmlTableCell();

 for(int i=0;i<6;i++){
       calendarCell = new HtmlTableCell();

       calendarCell.Controls.Add(new LiteralControl(i.ToString()));
       calendarCell.Style.Add("color", "red");
       calendarRow.Cells.Add(calendarCell);

 }



 string resutlt=baseCalendar.innerHtml.Tostring();

эта строка говорит об ошибке: HtmlTable не поддерживает свойство InnerHtml?????


person ashkufaraz    schedule 22.07.2011    source источник


Ответы (4)


Я надеюсь, вам нужен HTML-код для созданной вами таблицы, который не может быть достигнут с помощью innerHTML, который действителен в случае div, здесь вам лучше использовать RenderControl что-то в этих строках.

StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
baseCalendar.RenderControl(htw)
person V4Vendetta    schedule 22.07.2011
comment
танков очень очень очень много . это нормально!!1 - person ashkufaraz; 22.07.2011
comment
чтобы получить строку: StringBuilder sb = new StringBuilder(); StringWriter sw = новый StringWriter(sb); HtmlTextWriter htw = новый HtmlTextWriter(sw); baseCalendar.RenderControl(htw); - person nima; 04.10.2017

Откуда: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable.innerhtml%28VS.80%29.aspx

Не читайте и не присваивайте значение этому свойству. В противном случае создается исключение System.NotSupportedException. Это свойство унаследовано от класса HtmlContainerControl и не применимо к классу HtmlTable.

person Semyazas    schedule 22.07.2011

Здесь вам нужно вручную написать таблицу вместо использования HtmlTable.

 string str = "<table>";
                for (int i = 0; i < 6; i++)
                {
                    str += "<tr><td style='color:red'>" + i.ToString() + "</td></tr>";
                }
                str += "</table>";
                mainDiv.InnerHtml = str;

И на странице ASPX

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

</head>
<body>
    <form id="form1" runat="server">
    <div runat="server" id="mainDiv">
    </div>
    </form>
</body>
</html>
person Sreekumar P    schedule 22.07.2011

HtmlTable имеет свойство InnerHtml: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable.aspx

Вам не хватает заглавных букв:

string resutlt=baseCalendar.innerHtml.Tostring(); // note innerHtml -> InnerHtml

Однако, несмотря на то, что он скомпилируется, вы должны отметить, что:

Осторожность

Не читайте и не присваивайте значение этому свойству. В противном случае создается исключение System.NotSupportedException. Это свойство унаследовано от класса HtmlContainerControl и не применимо к классу HtmlTable.

person foxy    schedule 22.07.2011