如何在asp控件中显示html文档

时间:2010-02-08 19:54:05

标签: asp.net html

如何在asp控件中显示html文档,最好是asp:table,从服务器端脚本以编程方式显示?我目前用Streamrader打开html文档,将其读入字符串,然后将其放入表中,但所有html标记都会出现。我尝试使用HtmlEncode和HtmlDecode,但无法使其工作。所以我有访问控件工作的机制,只需要像浏览器中那样呈现html文档。

2 个答案:

答案 0 :(得分:1)

你需要设置一些控件的“.InnerHtml”属性(HtmlCell?)而不是“.InnerText”或类似的东西:

LiteralControl foo = new LiteralControl("<p>html from stream here</p>")
table.Rows[0].Cells[0].Controls.Add(foo);

如果您提供一些上下文(一个小代码示例),当您将html“放入表格”时,您将尝试做什么,这将有所帮助。

答案 1 :(得分:0)

这是我目前的代码:

//articleComments in code snippet is the raw html file contents

protected void DisplayArticle(string articleID)
    {       
        string articleContents = GetArticle(articleID);
        System.IO.StringWriter sw=new System.IO.StringWriter();
        Server.HtmlEncode(articleContents, sw);
        Server.HtmlDecode(articleContents, sw);
        HtmlTableRow row = new HtmlTableRow();
        HtmlTableCell cell = new HtmlTableCell();
        this.tablearticle.Border = 0;
        this.tablearticle.Rows.Add(row);
        row.Attributes.Add("bgcolor", "lightgrey");
        row.Attributes.Add("align", "center");
        cell.InnerHtml = sw.ToString();
        row.Cells.Add(cell);
    }