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属性?????
答案 0 :(得分:6)
我希望你想要你创建的表格的HTML代码是innerHTML无法实现的那些在div的情况下是有效的,在这里你应该在这些行上使用RenderControl
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
baseCalendar.RenderControl(htw)
答案 1 :(得分:1)
不要读取或为此属性赋值。否则,抛出System.NotSupportedException异常。此属性继承自HtmlContainerControl类,不适用于HtmlTable类。
答案 2 :(得分:1)
在这里你必须使用手动编写表而不是使用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>
答案 3 :(得分:-1)
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异常。这个 property继承自HtmlContainerControl类,而不是 适用于HtmlTable类。