【问题标题】:How to get innerHTML of a Table in C#如何在C#中获取表格的innerHTML
【发布时间】:2011-10-11 00:06:07
【问题描述】:
 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属性??????

【问题讨论】:

    标签: c# asp.net compiler-errors


    【解决方案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 异常。这 属性是从 HtmlContainerControl 类继承的,不是 适用于 HtmlTable 类。

    【讨论】:

      【解决方案2】:

      发件人:http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable.innerhtml%28VS.80%29.aspx

      不要从这个属性中读取或赋值。否则,将引发 System.NotSupportedException 异常。该属性继承自HtmlContainerControl类,不适用于HtmlTable类。

      【讨论】:

        【解决方案3】:

        我希望您希望您创建的表格的 HTML 代码无法通过 innerHTML 实现,这些代码在 div 的情况下是有效的,在这里您应该在这些行上使用 RenderControl 一些东西

        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        baseCalendar.RenderControl(htw)
        

        【讨论】:

        • 坦克非常非常非常。没关系!!1
        • 获取字符串:StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter htw = new HtmlTextWriter(sw); baseCalendar.RenderControl(htw);
        【解决方案4】:

        这里你必须使用手动写一个Table而不是使用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>
        

        【讨论】:

          猜你喜欢
          • 2012-04-05
          • 1970-01-01
          • 2021-05-28
          • 1970-01-01
          • 1970-01-01
          • 2011-01-06
          • 2023-01-09
          • 2014-06-05
          • 2016-06-20
          相关资源
          最近更新 更多